mirror of
https://github.com/bensuperpc/infrastructure.git
synced 2024-11-10 04:07:26 +01:00
195 lines
4.9 KiB
YAML
195 lines
4.9 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
webserver:
|
|
depends_on:
|
|
- wordpress
|
|
image: nginx:1.23
|
|
container_name: webserver
|
|
profiles:
|
|
- webserver
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- wordpress:/var/www/worpress
|
|
- jellyfin:/var/www/jellyfin
|
|
- ./nginx-conf:/etc/nginx/conf.d
|
|
- certbot-cert:/etc/letsencrypt:ro
|
|
networks:
|
|
- app-network
|
|
wp_db:
|
|
image: mariadb:10.10.2
|
|
container_name: wp_db
|
|
profiles:
|
|
- wp_db
|
|
restart: unless-stopped
|
|
env_file:
|
|
- env/wp_database.env
|
|
volumes:
|
|
- dbdata:/var/lib/mysql
|
|
networks:
|
|
- app-network
|
|
|
|
wordpress:
|
|
depends_on:
|
|
- wp_db
|
|
image: wordpress:6.1.1-php8.1-fpm
|
|
container_name: wordpress
|
|
profiles:
|
|
- wordpress
|
|
restart: unless-stopped
|
|
env_file:
|
|
- env/wordpress.env
|
|
# environment:
|
|
# - WORDPRESS_DB_HOST=wp_db:3306
|
|
volumes:
|
|
- wordpress:/var/www/html
|
|
networks:
|
|
- app-network
|
|
|
|
flask_website:
|
|
build:
|
|
context: ./bensuperpc_website
|
|
dockerfile: Dockerfile
|
|
container_name: flask_website
|
|
profiles:
|
|
- flask_website
|
|
depends_on:
|
|
- flask_db
|
|
volumes:
|
|
- ./bensuperpc_website:/app:rw
|
|
env_file:
|
|
- env/flask_website.env
|
|
restart: unless-stopped
|
|
ports:
|
|
- 5000:5000
|
|
networks:
|
|
- app-network
|
|
flask_db:
|
|
image: postgres:latest
|
|
container_name: flask_db
|
|
profiles:
|
|
- flask_db
|
|
restart: unless-stopped
|
|
env_file:
|
|
- env/flask_database.env
|
|
# ports:
|
|
# - 5432:5432
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
networks:
|
|
- app-network
|
|
qbittorrent:
|
|
image: lscr.io/linuxserver/qbittorrent:latest
|
|
container_name: qbittorrent
|
|
profiles:
|
|
- qbittorrent
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/London
|
|
- WEBUI_PORT=8080
|
|
volumes:
|
|
- qbittorrent-conf:/config
|
|
- qbittorrent-downloads:/downloads
|
|
#ports:
|
|
# - 8080:8080
|
|
# - 6881:6881
|
|
# - 6881:6881/udp
|
|
restart: unless-stopped
|
|
networks:
|
|
- app-network
|
|
jellyfin:
|
|
image: lscr.io/linuxserver/jellyfin:latest
|
|
container_name: jellyfin
|
|
profiles:
|
|
- jellyfin
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/London
|
|
- JELLYFIN_PublishedServerUrl=192.168.0.5 #optional
|
|
volumes:
|
|
- jellyfin-config:/config
|
|
- jellyfin-tvseries:/data/tvshows
|
|
- jellyfin-movies:/data/movies
|
|
- jellyfin:/var/www/html
|
|
#ports:
|
|
# - 8096:8096
|
|
# - 8920:8920 #optional
|
|
# - 7359:7359/udp #optional
|
|
# - 1900:1900/udp #optional
|
|
restart: unless-stopped
|
|
networks:
|
|
- app-network
|
|
certbot:
|
|
depends_on:
|
|
- webserver
|
|
image: certbot/certbot:v1.32.0
|
|
container_name: certbot
|
|
profiles:
|
|
- certbot
|
|
volumes:
|
|
- certbot-cert:/etc/letsencrypt
|
|
- wordpress:/var/www/worpress
|
|
- jellyfin:/var/www/jellyfin
|
|
#command: certonly --email bensuperpc@bensuperpc.fr --agree-tos --rsa-key-size 4096 --no-eff-email --verbose --noninteractive --staging --webroot --webroot-path=/var/www/worpress --domain bensuperpc.org --domain www.bensuperpc.org --webroot-path=/var/www/jellyfin --domain jellyfin.bensuperpc.org --domain www.jellyfin.bensuperpc.org
|
|
#command: certonly --email bensuperpc@bensuperpc.fr --agree-tos --rsa-key-size 4096 --no-eff-email --verbose --force-renewal --webroot --webroot-path=/var/www/worpress --domain bensuperpc.org --domain www.bensuperpc.org --webroot-path=/var/www/jellyfin --domain jellyfin.bensuperpc.org --domain www.jellyfin.bensuperpc.org
|
|
command: certonly --email bensuperpc@bensuperpc.fr --agree-tos --rsa-key-size 4096 --no-eff-email --verbose --noninteractive --keep-until-expiring --webroot --webroot-path=/var/www/worpress --domain bensuperpc.org --domain www.bensuperpc.org --webroot-path=/var/www/jellyfin --domain jellyfin.bensuperpc.org --domain www.jellyfin.bensuperpc.org
|
|
phpmyadmin:
|
|
image: phpmyadmin:5.2.0
|
|
container_name: phpmyadmin
|
|
profiles:
|
|
- phpmyadmin
|
|
restart: unless-stopped
|
|
env_file:
|
|
- env/phpmyadmin.env
|
|
# ports:
|
|
# - 8080:80
|
|
depends_on:
|
|
- wp_db
|
|
networks:
|
|
- app-network
|
|
pgadmin:
|
|
container_name: pgadmin_container
|
|
image: dpage/pgadmin4:6.16
|
|
profiles:
|
|
- pgadmin
|
|
restart: unless-stopped
|
|
env_file:
|
|
- env/pgadmin.env
|
|
depends_on:
|
|
- flask_db
|
|
networks:
|
|
- app-network
|
|
volumes:
|
|
certbot-cert:
|
|
name: certbot-cert
|
|
wordpress:
|
|
name: wordpress
|
|
dbdata:
|
|
name: dbdata
|
|
|
|
qbittorrent-downloads:
|
|
name: qbittorrent-downloads
|
|
|
|
qbittorrent-conf:
|
|
name: qbittorrent-conf
|
|
|
|
jellyfin-config:
|
|
name: jellyfin-config
|
|
jellyfin-tvseries:
|
|
name: jellyfin-tvseries
|
|
jellyfin-movies:
|
|
name: jellyfin-movies
|
|
jellyfin:
|
|
name: jellyfin
|
|
postgres-data:
|
|
name: postgres-data
|
|
|
|
networks:
|
|
app-network:
|
|
driver: bridge
|
|
name: app-network |