d_personal/docker-compose.yml

139 lines
3.3 KiB
YAML
Raw Normal View History

2022-07-24 15:24:53 +02:00
version: '3.6'
networks:
transmission:
name: transmission
jellyfin:
name: jellyfin
gitea:
name: gitea
nextcloud:
name: nextcloud
services:
#
# NGINX AND CERTBOT
#
nginx:
image: nginx:latest
container_name: nginx
restart: unless-stopped
depends_on:
- transmission
- jellyfin
- gitea
- nextcloud
2022-07-24 16:11:50 +02:00
- nextcloud_db
2022-07-24 15:24:53 +02:00
ports:
- 80:80
- 443:443
volumes:
- ${DOCKER_CONFIG_DIR}/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ${DOCKER_CONFIG_DIR}/certbot/conf:/etc/letsencrypt:ro
- ${DOCKER_CONFIG_DIR}/certbot/www:/var/www/certbot:ro
- ${NGINX_LOG_DIR}/:/logs
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
networks:
- transmission
- jellyfin
- gitea
- nextcloud
certbot:
image: certbot/certbot:latest
container_name: certbot
restart: unless-stopped
volumes:
- ${DOCKER_CONFIG_DIR}/certbot/conf:/etc/letsencrypt:rw
- ${DOCKER_CONFIG_DIR}/certbot/www:/var/www/certbot:rw
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
#
2022-07-24 20:50:52 +02:00
# HOMESERVER SERVICES
2022-07-24 15:24:53 +02:00
#
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- TRANSMISSION_WEB_HOME=/combustion-release/
- USER=${TRANSMISSION_USERNAME}
- PASS=${TRANSMISSION_PASSWORD}
volumes:
- ${DOCKER_CONFIG_DIR}/transmission/config:/config
- ${DOCKER_DATA_DIR}/transmission/downloads:/downloads
- ${DOCKER_DATA_DIR}/transmission/watch:/watch
networks:
- transmission
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- JELLYFIN_PublishedServerUrl=${JELLYFIN_DOMAIN_NAME}
volumes:
- ${DOCKER_CONFIG_DIR}/jellyfin/library:/config
- /mnt/drive-one/media/series:/data/series
- /mnt/drive-one/media/movies:/data/movies
networks:
- jellyfin
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: unless-stopped
environment:
- USER_UID=1000
- USER_GID=1000
volumes:
- ${DOCKER_DATA_DIR}/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- gitea
nextcloud:
image: nextcloud:latest
container_name: nextcloud
restart: unless-stopped
depends_on:
2022-07-24 16:11:50 +02:00
- nextcloud_db
2022-07-24 15:24:53 +02:00
environment:
- POSTGRES_HOST=nextcloud_db
- POSTGRES_DB=nextcloud
- POSTGRES_USER=${POSTGRES_NEXTCLOUD_USERNAME}
- POSTGRES_PASSWORD=${POSTGRES_NEXTCLOUD_PASSWORD}
volumes:
- ${DOCKER_DATA_DIR}/nextcloud:/var/www/html
networks:
- nextcloud
nextcloud_db:
image: postgres:latest
container_name: nextcloud_db
hostname: nextcloud_db
restart: unless-stopped
volumes:
- ${DOCKER_DATA_DIR}/nextcloud_db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=nextcloud
- POSTGRES_USER=${POSTGRES_NEXTCLOUD_USERNAME}
- POSTGRES_PASSWORD=${POSTGRES_NEXTCLOUD_PASSWORD}
networks:
- nextcloud
2022-07-24 20:50:52 +02:00
#
# HOME-AUTOMATION SERVICES
#
#
# OTHER SERVICES
#