Improve docker-compose

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
This commit is contained in:
2025-01-19 21:08:53 +01:00
parent 3bdcd4d459
commit 3b4c3cb54c
66 changed files with 122 additions and 83 deletions
+73
View File
@@ -0,0 +1,73 @@
include:
# WordPress
- services/wordpress/docker-compose.adminer.yml
- services/wordpress/docker-compose.wordpress.yml
# Caddy
- services/caddy/docker-compose.caddy.yml
# Dufs
- services/dufs/docker-compose.dufs.yml
# Gitea
- services/gitea/docker-compose.gitea.yml
# Homepage
- services/homepage/docker-compose.homepage.yml
# It-tools
- services/it-tools/docker-compose.it-tools.yml
# Jellyfin
- services/jellyfin/docker-compose.jellyfin.yml
# Openssh
- services/openssh/docker-compose.openssh.yml
# Picoshare
- services/picoshare/docker-compose.picoshare.yml
# Privatebin
- services/privatebin/docker-compose.privatebin.yml
# Projectsend
- services/projectsend/docker-compose.projectsend.yml
# Psitransfer
- services/psitransfer/docker-compose.psitransfer.yml
# Qbittorrent
- services/qbittorrent/docker-compose.qbittorrent.yml
# Stirlingpdf
- services/stirlingpdf/docker-compose.stirlingpdf.yml
# Syncthing
- services/syncthing/docker-compose.syncthing.yml
# Transmission
- services/transmission/docker-compose.transmission.yml
# Uptime-kuma
- services/uptime-kuma/docker-compose.uptime-kuma.yml
# Yacht
- services/yacht/docker-compose.yacht.yml
services:
main_infrastructure:
container_name: main_infrastructure
image: alpine:latest
profiles:
- main_infrastructure
volumes:
- public_data:/public_data:rw
- private_data:/private_data:rw
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
cap_add:
- CHOWN
- DAC_OVERRIDE
# Fix root permissions on mounted volumes
command: chown -R ${PUID:-1000}:${PGID:-1000} /public_data /private_data
volumes:
public_data:
name: public_data
private_data:
name: private_data
networks:
infra-network:
driver: bridge
name: infra-network
intern-network:
driver: bridge
internal: true
name: intern-network
@@ -1,34 +0,0 @@
services:
main_infrastructure:
container_name: main_infrastructure
image: alpine:latest
profiles:
- main_infrastructure
volumes:
- public_data:/public_data:rw
- private_data:/private_data:rw
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
cap_add:
- CHOWN
- DAC_OVERRIDE
# Fix root permissions on mounted volumes
command: chown -R ${PUID:-1000}:${PGID:-1000} /public_data /private_data
volumes:
public_data:
name: public_data
private_data:
name: private_data
networks:
infra-network:
driver: bridge
name: infra-network
intern-network:
driver: bridge
internal: true
name: intern-network
@@ -15,14 +15,14 @@ services:
volumes:
- caddy_data:/data:rw
- caddy_config:/config:rw
- ./caddy/config:/etc/caddy:ro
- ./config:/etc/caddy:ro
- wordpress:/var/www/html:rw
- public_data:/public_data:ro
networks:
- infra-network
env_file:
- ./caddy/env/caddy.env
- ./env/caddy.env
security_opt:
- no-new-privileges:true
healthcheck:
@@ -40,7 +40,7 @@ services:
- caddy
restart: on-failure:5
env_file:
- ./caddy/env/caddy_backup.env
- ./env/caddy_backup.env
volumes:
- caddy_backup:/mnt/restic
- caddy_data:/data:ro
@@ -10,7 +10,7 @@ services:
depends_on:
- caddy
env_file:
- ./dufs/env/dufs.env
- ./env/dufs.env
volumes:
- public_data:/data
networks:
@@ -12,7 +12,7 @@ services:
ports:
- "22:22"
env_file:
- ./gitea/env/gitea.env
- ./env/gitea.env
volumes:
- gitea_data:/var/lib/gitea
- gitea_config:/etc/gitea
@@ -36,7 +36,7 @@ services:
volumes:
- gitea_db:/var/lib/mysql:rw
env_file:
- ./gitea/env/gitea_db.env
- ./env/gitea_db.env
command: '--default-authentication-plugin=mysql_native_password'
networks:
- infra-network
@@ -53,11 +53,11 @@ services:
- gitea
restart: on-failure:5
env_file:
- ./gitea/env/gitea-runner.env
- ./env/gitea-runner.env
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- gitea_runner:/data
- ./gitea/config/gitea_runner/config.yaml:/config.yaml:ro
- ./config/gitea_runner/config.yaml:/config.yaml:ro
networks:
- infra-network
security_opt:
@@ -9,11 +9,11 @@ services:
depends_on:
- caddy
env_file:
- ./homepage/env/homepage.env
- ./env/homepage.env
volumes:
- homepage_log:/app/logs
- ./homepage/config:/app/config:ro
- ./homepage/image:/app/public/image:ro
- ./config:/app/config:ro
- ./image:/app/public/image:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
# develop:
# watch:

Before

Width:  |  Height:  |  Size: 569 KiB

After

Width:  |  Height:  |  Size: 569 KiB

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Before

Width:  |  Height:  |  Size: 295 KiB

After

Width:  |  Height:  |  Size: 295 KiB

@@ -12,7 +12,7 @@ services:
depends_on:
- caddy
env_file:
- ./jellyfin/env/jellyfin.env
- ./env/jellyfin.env
volumes:
- jellyfin_config:/config
- jellyfin_cache:/cache
@@ -9,13 +9,13 @@ services:
- caddy
restart: on-failure:5
env_file:
- ./openssh/env/openssh.env
- ./env/openssh.env
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
volumes:
- openssh_config:/config:rw
- ./openssh/config/authorized_keys:/authorized_ssh_keys:ro
- ./config/authorized_keys:/authorized_ssh_keys:ro
- public_data:/public:rw
- private_data:/private:rw
- caddy_data:/caddy_data:rw
@@ -9,7 +9,7 @@ services:
depends_on:
- caddy
env_file:
- ./picoshare/env/picoshare.env
- ./env/picoshare.env
volumes:
- picoshare_data:/data
networks:
@@ -10,7 +10,7 @@ services:
- caddy
volumes:
- privatebin_data:/srv/data
- ./privatebin/config/conf.php:/srv/cfg/conf.php:ro
- ./config/conf.php:/srv/cfg/conf.php:ro
networks:
- infra-network
security_opt:
@@ -9,7 +9,7 @@ services:
depends_on:
- caddy
env_file:
- ./projectsend/env/projectsend.env
- ./env/projectsend.env
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- projectsend_config:/config
@@ -34,7 +34,7 @@ services:
volumes:
- projectsend_db:/var/lib/mysql:rw
env_file:
- ./projectsend/env/projectsend_db.env
- ./env/projectsend_db.env
command: '--default-authentication-plugin=mysql_native_password'
networks:
- infra-network
@@ -10,7 +10,7 @@ services:
depends_on:
- caddy
env_file:
- ./psitransfer/env/psitransfer.env
- ./env/psitransfer.env
volumes:
- psitransfer_data:/data
networks:
@@ -9,7 +9,7 @@ services:
depends_on:
- caddy
env_file:
- ./qbittorrent/env/qbittorrent.env
- ./env/qbittorrent.env
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
@@ -9,7 +9,7 @@ services:
depends_on:
- caddy
env_file:
- ./stirlingpdf/env/stirlingpdf.env
- ./env/stirlingpdf.env
volumes:
- stirlingpdf_config:/configs
- stirlingpdf_tessdata:/usr/share/tessdata
@@ -9,7 +9,7 @@ services:
- caddy
restart: on-failure:5
env_file:
- ./syncthing/env/syncthing.env
- ./env/syncthing.env
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
@@ -9,7 +9,7 @@ services:
depends_on:
- caddy
env_file:
- ./transmission/env/transmission.env
- ./env/transmission.env
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
@@ -7,7 +7,7 @@ services:
- adminer
restart: on-failure:5
env_file:
- ./wordpress/env/adminer.env
- ./env/adminer.env
depends_on:
- wordpress_db
- caddy
@@ -10,9 +10,9 @@ services:
- wordpress_db
- caddy
env_file:
- ./wordpress/env/wordpress.env
- ./env/wordpress.env
volumes:
- ./wordpress/config/wordpress/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro
- ./config/wordpress/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro
- wordpress:/var/www/html:rw
networks:
- infra-network
@@ -32,7 +32,7 @@ services:
volumes:
- wordpress_db:/var/lib/mysql:rw
env_file:
- ./wordpress/env/wordpress_db.env
- ./env/wordpress_db.env
command: '--default-authentication-plugin=mysql_native_password'
networks:
- infra-network
@@ -48,7 +48,7 @@ services:
- wordpress
restart: on-failure:5
env_file:
- ./wordpress/env/wordpress_backup.env
- ./env/wordpress_backup.env
volumes:
- wordpress_backup:/mnt/restic
- wordpress_db:/data/wordpress_db:ro
@@ -9,7 +9,7 @@ services:
depends_on:
- caddy
env_file:
- ./yacht/env/yacht.env
- ./env/yacht.env
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- yacht_config:/config