Split docker-compose

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
This commit is contained in:
Bensuperpc 2024-05-05 11:05:51 +02:00
parent 077aaf806c
commit b099097526
No known key found for this signature in database
GPG Key ID: 15D0B1525584D383
9 changed files with 226 additions and 212 deletions

32
docker-compose.caddy.yml Normal file
View File

@ -0,0 +1,32 @@
version: '3.9'
services:
# Webserver
caddy:
image: caddy:latest
container_name: webserver
profiles:
- webserver
restart: on-failure
ports:
- 80:80
- 443:443
volumes:
- wordpress:/var/www/html:rw
- caddy_data:/data:rw
- caddy_config:/config:rw
- ./caddy:/etc/caddy:ro
networks:
- infra-network
security_opt:
- no-new-privileges:true
# cap_drop:
# - ALL
# cap_add:
# - CHOWN
# - FOWNER
# - DAC_OVERRIDE
# - SETGID
# - SETUID
# - NET_BIND_SERVICE

43
docker-compose.gitea.yml Normal file
View File

@ -0,0 +1,43 @@
version: '3.9'
services:
# Gitea
gitea:
image: gitea/gitea:latest-rootless
container_name: gitea
profiles:
- gitea
restart: on-failure
depends_on:
- caddy
env_file:
- env/gitea.env
volumes:
- gitea_data:/var/lib/gitea
- gitea_config:/etc/gitea
# - /etc/timezone:/etc/timezone:ro
# - /etc/localtime:/etc/localtime:ro
networks:
- infra-network
security_opt:
- no-new-privileges:true
# Database gitea
database_gitea:
image: mariadb:latest
container_name: database_gitea
profiles:
- database
- gitea
depends_on:
- gitea
restart: on-failure
volumes:
- gitea_db:/var/lib/mysql:rw
env_file:
- env/gitea_db.env
command: '--default-authentication-plugin=mysql_native_password'
networks:
- infra-network
security_opt:
- no-new-privileges:true

View File

@ -0,0 +1,20 @@
version: '3.9'
services:
# Jellyfin
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
profiles:
- jellyfin
restart: on-failure
depends_on:
- caddy
volumes:
- jellyfin_config:/config
- jellyfin_data:/movies:ro
- jellyfin_cache:/cache
networks:
- infra-network
security_opt:
- no-new-privileges:true

View File

@ -0,0 +1,6 @@
version: '3.9'
networks:
infra-network:
driver: bridge
name: infra-network

View File

@ -0,0 +1,21 @@
version: '3.9'
services:
# qBittorrent
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
profiles:
- qbittorrent
restart: on-failure
depends_on:
- caddy
env_file:
- env/qbittorrent.env
volumes:
- qbittorrent_config:/config
- qbittorrent_data:/downloads
networks:
- infra-network
security_opt:
- no-new-privileges:true

View File

@ -0,0 +1,16 @@
version: '3.9'
services:
# Uptime Kuma
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
profiles:
- uptime-kuma
volumes:
- uptimekuma_data:/app/data
restart: on-failure
networks:
- infra-network
security_opt:
- no-new-privileges:true

View File

@ -0,0 +1,29 @@
version: '3.9'
volumes:
database:
name: database
wordpress:
name: wordpress
caddy_data:
name: caddy_data
caddy_config:
name: caddy_config
qbittorrent_config:
name: qbittorrent_config
qbittorrent_data:
name: qbittorrent_data
uptimekuma_data:
name: uptimekuma_data
gitea_data:
name: gitea_data
gitea_config:
name: gitea_config
gitea_db:
name: gitea_db
jellyfin_config:
name: jellyfin_config
jellyfin_data:
name: jellyfin_data
jellyfin_cache:
name: jellyfin_cache

View File

@ -0,0 +1,59 @@
version: '3.9'
services:
# Database wordpress
database:
image: mariadb:latest
container_name: database
profiles:
- database
- wordpress
depends_on:
- caddy
restart: on-failure
volumes:
- database:/var/lib/mysql:rw
env_file:
- env/wordpress_db.env
command: '--default-authentication-plugin=mysql_native_password'
networks:
- infra-network
security_opt:
- no-new-privileges:true
# Wordpress
wordpress:
image: wordpress:fpm
container_name: wordpress
profiles:
- wordpress
restart: on-failure
depends_on:
- database
- caddy
env_file:
- env/wordpress.env
volumes:
- ./config/wordpress/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro
- wordpress:/var/www/html:rw
networks:
- infra-network
security_opt:
- no-new-privileges:true
# Adminer
adminer:
image: adminer:latest
container_name: adminer
profiles:
- adminer
restart: on-failure
env_file:
- env/adminer.env
depends_on:
- database
- caddy
networks:
- infra-network
security_opt:
- no-new-privileges:true

View File

@ -1,212 +0,0 @@
version: '3.9'
services:
# Webserver
caddy:
image: caddy:latest
container_name: webserver
profiles:
- webserver
restart: on-failure
ports:
- 80:80
- 443:443
volumes:
- wordpress:/var/www/html:rw
- caddy_data:/data:rw
- caddy_config:/config:rw
- ./caddy:/etc/caddy:ro
networks:
- infra-network
security_opt:
- no-new-privileges:true
# cap_drop:
# - ALL
# cap_add:
# - CHOWN
# - FOWNER
# - DAC_OVERRIDE
# - SETGID
# - SETUID
# - NET_BIND_SERVICE
# Database wordpress
database:
image: mariadb:latest
container_name: database
profiles:
- database
- wordpress
depends_on:
- caddy
restart: on-failure
volumes:
- database:/var/lib/mysql:rw
env_file:
- env/wordpress_db.env
command: '--default-authentication-plugin=mysql_native_password'
networks:
- infra-network
security_opt:
- no-new-privileges:true
# Wordpress
wordpress:
image: wordpress:fpm
container_name: wordpress
profiles:
- wordpress
restart: on-failure
depends_on:
- database
- caddy
env_file:
- env/wordpress.env
volumes:
- ./config/wordpress/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro
- wordpress:/var/www/html:rw
networks:
- infra-network
security_opt:
- no-new-privileges:true
# Adminer
adminer:
image: adminer:latest
container_name: adminer
profiles:
- adminer
restart: on-failure
env_file:
- env/adminer.env
depends_on:
- database
- caddy
networks:
- infra-network
security_opt:
- no-new-privileges:true
# Gitea
gitea:
image: gitea/gitea:latest-rootless
container_name: gitea
profiles:
- gitea
restart: on-failure
depends_on:
- caddy
env_file:
- env/gitea.env
volumes:
- gitea_data:/var/lib/gitea
- gitea_config:/etc/gitea
# - /etc/timezone:/etc/timezone:ro
# - /etc/localtime:/etc/localtime:ro
networks:
- infra-network
security_opt:
- no-new-privileges:true
# Database gitea
database_gitea:
image: mariadb:latest
container_name: database_gitea
profiles:
- database
- gitea
depends_on:
- gitea
restart: on-failure
volumes:
- gitea_db:/var/lib/mysql:rw
env_file:
- env/gitea_db.env
command: '--default-authentication-plugin=mysql_native_password'
networks:
- infra-network
security_opt:
- no-new-privileges:true
# Jellyfin
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
profiles:
- jellyfin
restart: on-failure
depends_on:
- caddy
volumes:
- jellyfin_config:/config
- jellyfin_data:/movies:ro
- jellyfin_cache:/cache
networks:
- infra-network
security_opt:
- no-new-privileges:true
# qBittorrent
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
profiles:
- qbittorrent
restart: on-failure
depends_on:
- caddy
env_file:
- env/qbittorrent.env
volumes:
- qbittorrent_config:/config
- qbittorrent_data:/downloads
networks:
- infra-network
security_opt:
- no-new-privileges:true
# Uptime Kuma
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
profiles:
- uptime-kuma
volumes:
- uptimekuma_data:/app/data
restart: on-failure
networks:
- infra-network
security_opt:
- no-new-privileges:true
volumes:
database:
name: database
wordpress:
name: wordpress
caddy_data:
name: caddy_data
caddy_config:
name: caddy_config
qbittorrent_config:
name: qbittorrent_config
qbittorrent_data:
name: qbittorrent_data
uptimekuma_data:
name: uptimekuma_data
gitea_data:
name: gitea_data
gitea_config:
name: gitea_config
gitea_db:
name: gitea_db
jellyfin_config:
name: jellyfin_config
jellyfin_data:
name: jellyfin_data
jellyfin_cache:
name: jellyfin_cache
networks:
infra-network:
driver: bridge
name: infra-network