Added bokstack, gitea, komga and nextcloud

This commit is contained in:
Luca Gambarotto 2024-01-14 10:38:12 +01:00
commit 9bd12ec585
9 changed files with 260 additions and 0 deletions

View File

@ -0,0 +1,37 @@
version: '2'
services:
mysql:
image: mysql:8.2
environment:
- MYSQL_ROOT_PASSWORD=6huKD2kmkWac1EGyBTHc
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=6huKD2kmkWac1EGyBTHc
volumes:
- /mnt/bookstack/mysql-data:/var/lib/mysql
bookstack:
image: solidnerd/bookstack:23.12
depends_on:
- mysql
environment:
- DB_HOST=mysql:3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=6huKD2kmkWac1EGyBTHc
#set the APP_ to the URL of bookstack without without a trailing slash APP_URL=https://example.com
- APP_URL=https://bookstack.giovanesaggio.com
# APP_KEY is used for encryption where needed, so needs to be persisted to
# preserve decryption abilities.
# Can run `php artisan key:generate` to generate a key
- APP_KEY=6huKD2kmkWac1EGyBTHc
volumes:
- /mnt/bookstack/uploads:/var/www/bookstack/public/uploads
- /mnt/bookstack/storage-uploads:/var/www/bookstack/storage/uploads
ports:
- "8080:8080"
volumes:
mysql-data:
uploads:
storage-uploads:

View File

@ -0,0 +1,17 @@
#!/bin/bash
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

18
bookstack/readme.txt Normal file
View File

@ -0,0 +1,18 @@
MOUNT FOLDER SHARED WITH THE HOST
# data folder on the host machine
/mnt/raiddisk/bookstack
chown www-data:www-data bookstack
# in lxc container configuration file
/etc/pve/lxc/<lxc_id>.conf
mp0: /mnt/raiddisk/bookstack,mp=/mnt/bookstack,replicate=0
lxc.idmap: u 0 100000 1
lxc.idmap: g 0 100000 1
lxc.idmap: u 1 33 1
lxc.idmap: g 1 33 1
lxc.idmap: u 2 100002 65533
lxc.idmap: g 2 100002 65533

43
gitea/docker-compose.yaml Normal file
View File

@ -0,0 +1,43 @@
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:1.21.3
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- /mnt/gitea/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: mysql:8
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- /mnt/gitea/mysql:/var/lib/mysql

23
komga/docker-compose.yaml Normal file
View File

@ -0,0 +1,23 @@
---
version: '3.3'
services:
komga:
image: gotson/komga
container_name: komga
volumes:
- type: bind
source: /mnt/komga/config
target: /config
- type: bind
source: /mnt/komga/data
target: /data
- type: bind
source: /etc/timezone #alternatively you can use a TZ environment variable, like TZ=Europe/London
target: /etc/timezone
read_only: true
ports:
- 25600:25600
environment:
- JAVA_TOOL_OPTIONS=-Xmx4g
user: "1000:1000"
restart: unless-stopped

22
nextcloud/Dockerfile Normal file
View File

@ -0,0 +1,22 @@
FROM nextcloud:latest
# Install additional PHP modules using pecl and avconv or ffmpeg
RUN set -eux; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
$PHPIZE_DEPS \
autoconf \
imagemagick \
ffmpeg \
libbz2-dev \
libsmbclient-dev \
; \
\
pecl install smbclient redis imagick; \
docker-php-ext-enable smbclient redis imagick; \
\
docker-php-ext-install bz2 \
; \
apt-get purge -y --auto-remove $PHPIZE_DEPS; \
rm -rf /var/lib/apt/lists/*

View File

@ -0,0 +1,55 @@
version: '3.7'
services:
nextcloud:
build:
context: .
dockerfile: Dockerfile
container_name: nextcloud
restart: always
ports:
- "8080:80"
depends_on:
- db
- redis
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=BN3UX1wCll6uAEzTfIk2
- NEXTCLOUD_ADMIN_USER=admin
- NEXTCLOUD_ADMIN_PASSWORD=J0CBk3SGWj792QNMC2JO
- NEXTCLOUD_TRUSTED_DOMAINS=cloud.giovanesaggio.com 10.0.0.75
- NEXTCLOUD_TRUSTED_PROXIES=10.0.0.54
- OVERWRITEPROTOCOL=https
- OVERWRITE_CLI_URL=https://cloud.giovanesaggio.com
- FORWARDED_FOR_HEADERS=HTTP_X_FORWARDED,HTTP_FORWARDED_FOR
- REDIS_HOST=redis
volumes:
- /mnt/nextcloud/nextcloud:/var/www/html
db:
image: mariadb:10.5
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- /mnt/nextcloud/db_data:/var/lib/mysql
environment:
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_ROOT_PASSWORD=BN3UX1wCll6uAEzTfIk2
- MYSQL_PASSWORD=BN3UX1wCll6uAEzTfIk2
expose:
- 3306
redis:
image: redis:alpine
container_name: redis
restart: always
volumes:
- /mnt/nextcloud/redis:/data
volumes:
nextcloud:
db_data:
redis:

View File

@ -0,0 +1,14 @@
#!/bin/bash
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

31
nextcloud/readme.txt Normal file
View File

@ -0,0 +1,31 @@
MOUNT FOLDER SHARED WITH THE HOST
# data folder on the host machine
/mnt/raiddisk/nextcloud
chown www-data:www-data nextcloud
# in lxc container configuration file
/etc/pve/lxc/<lxc_id>.conf
mp0: /mnt/raiddisk/nextcloud,mp=var/lib/docker/volumes,replicate=0
lxc.idmap: u 1 100000 32
lxc.idmap: g 1 100000 32
lxc.idmap: u 0 33 1
lxc.idmap: g 0 33 1
lxc.idmap: u 34 100034 65502
lxc.idmap: g 34 100034 65502
POST INSTALL COMMANDS
docker compose exec --user www-data nextcloud php occ config:system:set default_phone_region --value="IT"
lxc.idmap: u 0 100000 1
lxc.idmap: g 0 100000 1
lxc.idmap: u 1 33 1
lxc.idmap: g 1 33 1
lxc.idmap: u 2 100002 65533
lxc.idmap: g 2 100002 65533