Put commands on new lines & modified network configurations

This commit is contained in:
2023-04-27 15:52:01 -05:00
parent 6f0ff9094e
commit 4959f00bd3
5 changed files with 70 additions and 27 deletions

2
.gitignore vendored
View File

@ -2,3 +2,5 @@ certs/
data/ data/
env/ env/
sql/ sql/
.env

View File

@ -24,12 +24,13 @@ services:
container_name: node-exporter container_name: node-exporter
image: quay.io/prometheus/node-exporter:latest image: quay.io/prometheus/node-exporter:latest
restart: always restart: always
command: --path.rootfs=/host command:
- --path.rootfs=/host
pid: host pid: host
volumes: volumes:
- /:/host:ro,rslave - /:/host:ro,rslave
networks: networks:
- service_network - info_network
expose: expose:
- 9100 - 9100
@ -39,7 +40,7 @@ services:
restart: always restart: always
command: command:
- --housekeeping_interval=30s - --housekeeping_interval=30s
- --disable_metrics=disk,diskIO,network,tcp,udp,percpu,sched,process - --disable_metrics=disk,diskIO,network,tcp,udp,percpu,sched,process # lower CPU usage
- --docker_only=true - --docker_only=true
devices: devices:
- /dev/kmsg - /dev/kmsg
@ -50,7 +51,7 @@ services:
- /var/lib/docker:/var/lib/docker:ro - /var/lib/docker:/var/lib/docker:ro
- /dev/disk:/dev/disk:ro - /dev/disk:/dev/disk:ro
networks: networks:
- service_network - info_network
expose: expose:
- 8080 - 8080
@ -58,13 +59,15 @@ services:
container_name: prometheus container_name: prometheus
image: prom/prometheus:latest image: prom/prometheus:latest
restart: unless-stopped restart: unless-stopped
command: --config.file=/config/prometheus.yml command:
- --config.file=/config/prometheus.yml
user: 1001:0 user: 1001:0
volumes: volumes:
- ./data/prometheus/config:/config - ./data/prometheus/config:/config
- ./data/prometheus/data:/prometheus - ./data/prometheus/data:/prometheus
networks: networks:
- service_network - service_network
- info_network
expose: expose:
- 9090 - 9090
@ -104,7 +107,7 @@ services:
env_file: ./env/nextcloud.env env_file: ./env/nextcloud.env
volumes: volumes:
- ./data/nextcloud:/var/www/html - ./data/nextcloud:/var/www/html
- /mnt/storage/nextcloud:/var/www/html/data - $LARGE_STORAGE_DIR/nextcloud:/var/www/html/data
networks: networks:
- service_network - service_network
- nextcloud_network - nextcloud_network
@ -118,7 +121,10 @@ services:
container_name: nextcloud-db container_name: nextcloud-db
image: mariadb:10.6 image: mariadb:10.6
restart: always restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW command:
- --transaction-isolation=READ-COMMITTED
- --log-bin=binlog
- --binlog-format=ROW
env_file: ./env/nextcloud-db.env env_file: ./env/nextcloud-db.env
volumes: volumes:
- ./data/nextcloud-db:/var/lib/mysql - ./data/nextcloud-db:/var/lib/mysql
@ -152,7 +158,8 @@ services:
container_name: pterodactyl-db container_name: pterodactyl-db
image: mariadb:10.5 image: mariadb:10.5
restart: always restart: always
command: --default-authentication-plugin=mysql_native_password command:
- --default-authentication-plugin=mysql_native_password
env_file: ./env/pterodactyl-db.env env_file: ./env/pterodactyl-db.env
volumes: volumes:
- ./data/pterodactyl-db:/var/lib/mysql - ./data/pterodactyl-db:/var/lib/mysql
@ -182,8 +189,8 @@ services:
working_dir: /photoprism working_dir: /photoprism
volumes: volumes:
- ./data/photoprism:/photoprism/storage - ./data/photoprism:/photoprism/storage
- /mnt/storage/photoprism/import:/photoprism/import - $LARGE_STORAGE_DIR/photoprism/import:/photoprism/import
- /mnt/storage/photoprism/originals:/photoprism/originals - $LARGE_STORAGE_DIR/photoprism/originals:/photoprism/originals
networks: networks:
- service_network - service_network
- photoprism_network - photoprism_network
@ -196,7 +203,14 @@ services:
container_name: photoprism-db container_name: photoprism-db
image: mariadb:10.10 image: mariadb:10.10
restart: always restart: always
command: --innodb-buffer-pool-size=512M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120 command:
- --innodb-buffer-pool-size=512M
- --transaction-isolation=READ-COMMITTED
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --max-connections=512
- --innodb-rollback-on-timeout=OFF
- --innodb-lock-wait-timeout=120
env_file: ./env/photoprism-db.env env_file: ./env/photoprism-db.env
volumes: volumes:
- ./data/photoprism-db:/var/lib/mysql - ./data/photoprism-db:/var/lib/mysql
@ -219,9 +233,10 @@ services:
volumes: volumes:
- ./data/jellyfin/config:/config - ./data/jellyfin/config:/config
- ./data/jellyfin/cache:/cache - ./data/jellyfin/cache:/cache
- /mnt/storage/media/movies:/movies - $LARGE_STORAGE_DIR/media/movies:/movies
- /mnt/storage/media/shows:/shows - $LARGE_STORAGE_DIR/media/shows:/shows
- /mnt/storage/media/books:/books - $LARGE_STORAGE_DIR/media/books:/books
- $LARGE_STORAGE_DIR/media/yt:/yt
networks: networks:
service_network: service_network:
exposed_service_network: exposed_service_network:
@ -233,7 +248,7 @@ services:
restart: unless-stopped restart: unless-stopped
env_file: ./env/gitea.env env_file: ./env/gitea.env
volumes: volumes:
- /mnt/storage/gitea:/data - $LARGE_STORAGE_DIR/gitea:/data
networks: networks:
- service_network - service_network
- gitea_network - gitea_network
@ -269,6 +284,7 @@ services:
container_name: uptime-kuma container_name: uptime-kuma
image: louislam/uptime-kuma:latest image: louislam/uptime-kuma:latest
restart: unless-stopped restart: unless-stopped
tty: true
volumes: volumes:
- ./data/uptime-kuma:/app/data - ./data/uptime-kuma:/app/data
networks: networks:
@ -276,8 +292,9 @@ services:
expose: expose:
- 3001 - 3001
networks: networks:
info_network:
name: info_network
nextcloud_network: nextcloud_network:
name: nextcloud_network name: nextcloud_network
pterodactyl_network: pterodactyl_network:

12
scripts/backup-all.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
DEST_DIR="$1"
if [ -z "$DEST_DIR" ]; then
echo USAGE: "$SCRIPT_DIR"/backup-all.sh [DEST]
exit 1
fi
# Backup new data & delete old data
/usr/bin/rsync -a --delete "$SCRIPT_DIR"/../ "$DEST_DIR"

12
scripts/backup-data.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
DEST_DIR="$1"
if [ -z "$DEST_DIR" ]; then
echo USAGE: "$SCRIPT_DIR"/backup-all.sh [DEST]
exit 1
fi
# Backup new data & delete old data
/usr/bin/rsync -a --delete "$SCRIPT_DIR"/../data/ "$DEST_DIR"

View File

@ -1,14 +1,14 @@
#!/bin/bash #!/bin/bash
COMPOSE_PATH=/root/new-services SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
COMPOSE_DIR="$SCRIPT_DIR"/../
databases=$(docker compose -f ${COMPOSE_PATH}/compose.yml ps | grep '\-db' | awk '{print $1}' | tr '\n' ' ')
# Get all service databases, dump databases, & copy database to compose path
databases=$(docker compose -f ${COMPOSE_DIR}/compose.yml ps | grep '\-db' | awk '{print $1}' | tr '\n' ' ')
for db in $databases; do for db in $databases; do
db_env_path=${COMPOSE_PATH}/env/${db}.env db_env_path=${COMPOSE_DIR}/env/${db}.env
if [ ! -f $db_env_path ]; then if [ ! -f $db_env_path ]; then
echo "Could not find the environment file for database '$db'" echo "Could not find the environment file for database '$db'"
continue continue
fi fi
@ -18,12 +18,12 @@ for db in $databases; do
db_dmp_cmd="mysqldump --password=${db_passwd} ${db_service} > /root/${db_service}.sql" db_dmp_cmd="mysqldump --password=${db_passwd} ${db_service} > /root/${db_service}.sql"
echo -e "\nDumping database '${db}'" echo -e "\nDumping database '${db}'"
docker exec ${db} sh -c "$db_dmp_cmd" &> /dev/null docker exec ${db} sh -c "$db_dmp_cmd" &> /dev/null
echo "Copying database dump '${db_service}.sql' to '${COMPOSE_PATH}/sql/${db_service}.sql'" echo "Copying database dump '${db_service}.sql' to '${COMPOSE_DIR}/sql/${db_service}.sql'"
docker cp ${db}:/root/${db_service}.sql ${COMPOSE_PATH}/sql/${db_service}.sql &> /dev/null docker cp ${db}:/root/${db_service}.sql ${COMPOSE_DIR}/sql/${db_service}.sql &> /dev/null
chown -R root:root ${COMPOSE_PATH}/sql chown -R root:root ${COMPOSE_DIR}/sql
done done
echo -e "\nDumping complete!" echo -e "\nDumping complete!"