1
0
Fork 0
containers/master-compose.yml

250 lines
7.9 KiB
YAML

version: 3.7
services:
reverse-proxy:
image: docker.io/library/caddy:alpine
pull_policy: always
container_name: caddy-vishwambhar
command: caddy run --config /etc/caddy/Caddyfile
restart: always
ports:
- "8001:80"
- "8002:443"
volumes:
- ${CONTAINER_VOLUME_PATH}/caddy/Caddyfile:/etc/caddy/Caddyfile:Z
- ${CONTAINER_VOLUME_PATH}/caddy/site:/srv:Z
- ${CONTAINER_VOLUME_PATH}/caddy/caddy_data:/data:Z
- ${CONTAINER_VOLUME_PATH}/caddy/caddy_config:/config:Z
- ${CONTAINER_VOLUME_PATH}/caddy/ssl:/etc/ssl:Z
labels:
- io.containers.autoupdate=registry
- pratham.container.category=proxy
environment:
- TZ=Asia/Kolkata
depends_on:
- gitea-web
- thefossguy-blog
- thefossguy-mach
- nextcloud-web
- gotify-server
- uptimekuma-server
- transmission-web
################################################################################
gitea-web:
image: docker.io/gitea/gitea:latest
pull_policy: always
container_name: gitea-govinda
restart: always
ports:
- "8003:3000"
- "8004:22"
volumes:
- ${CONTAINER_VOLUME_PATH}/gitea/web:/data:Z
- ${CONTAINER_VOLUME_PATH}/gitea/ssh:/data/git/.ssh:Z
- /etc/localtime:/etc/localtime:ro
labels:
- io.containers.autoupdate=registry
- pratham.container.category=gitea
environment:
- DEFAULT_BRANCH=master
- RUN_MODE=prod
- DISABLE_SSH=false
- START_SSH_SERVER=true
- SSH_PORT=22
- SSH_LISTEN_PORT=22
- ROOT_URL=https://git.thefossguy.com
- DOMAIN=git.thefossguy.com
- SSH_DOMAIN=git.thefossguy.com
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=gitea-db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=/run/secrets/gitea_database_user_password
- GITEA__service__DISABLE_REGISTRATION=true
- TZ=Asia/Kolkata
depends_on:
- gitea-db
secrets:
- gitea_database_user_password
gitea-db:
image: docker.io/library/postgres:15-alpine
pull_policy: always
container_name: gitea-chitragupta
restart: always
volumes:
- ${CONTAINER_VOLUME_PATH}/gitea/database:/var/lib/postgresql/data:Z
labels:
- io.containers.autoupdate=registry
- pratham.container.category=gitea
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=/run/secrets/gitea_database_user_password
- POSTGRES_DB=gitea
- TZ=Asia/Kolkata
secrets:
- gitea_database_user_password
################################################################################
thefossguy-blog:
image: docker.io/klakegg/hugo:debian
pull_policy: always
container_name: hugo-vaikunthnatham
command: server --disableFastRender -b https://blog.thefossguy.com/ --appendPort=false
restart: always
ports:
- "8005:1313"
volumes:
- ${CONTAINER_VOLUME_PATH}/blog:/src:Z
labels:
- io.containers.autoupdate=registry
- pratham.container.category=blog
environment:
- TZ=Asia/Kolkata
thefossguy-mach:
image: docker.io/klakegg/hugo:ext-debian
pull_policy: always
container_name: hugo-mahayogi
command: server --disableFastRender -b https://mach.thefossguy.com/ --appendPort=false
restart: always
ports:
- "8006:1313"
volumes:
- ${CONTAINER_VOLUME_PATH}/mach:/src:Z
labels:
- io.containers.autoupdate=registry
- pratham.container.category=mach
environment:
- TZ=Asia/Kolkata
################################################################################
nextcloud-web:
image: docker.io/library/nextcloud:production
pull_policy: always
container_name: nextcloud-govinda
restart: always
ports:
- "8007:80"
volumes:
- ${CONTAINER_VOLUME_PATH}/nextcloud/web:/var/www/html:Z
labels:
- io.containers.autoupdate=registry
- pratham.container.category=cloud
# https://stackoverflow.com/questions/29924843/how-do-i-set-hostname-in-docker-compose/63291253#63291253
hostname: cloud.thefossguy.com
environment:
- POSTGRES_PASSWORD=/run/secrets/nextcloud_database_user_password
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_HOST=nextcloud-db
# - NEXTCLOUD_HOSTNAME=cloud.thefossguy.com
- NEXTCLOUD_TRUSTED_DOMAINS=cloud.thefossguy.com
- APACHE_DISABLE_REWRITE_IP=1
- OVERWRITECLIURL=https://cloud.thefossguy.com
- OVERWRITEPROTOCOL=https
- TZ=Asia/Kolkata
depends_on:
- nextcloud-db
secrets:
- nextcloud_database_user_password
nextcloud-db:
image: docker.io/library/postgres:15-alpine
pull_policy: always
container_name: nextcloud-chitragupta
restart: always
volumes:
- ${CONTAINER_VOLUME_PATH}/nextcloud/database:/var/lib/postgresql/data:Z
labels:
- io.containers.autoupdate=registry
- pratham.container.category=cloud
environment:
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_PASSWORD=/run/secrets/nextcloud_database_user_password
- TZ=Asia/Kolkata
secrets:
- nextcloud_database_user_password
################################################################################
uptimekuma-server:
image: docker.io/louislam/uptime-kuma:debian
pull_policy: always
container_name: uptime-vishnu
restart: always
ports:
- "8008:3001"
volumes:
- ${CONTAINER_VOLUME_PATH}/uptimekuma:/app/data:Z
labels:
- io.containers.autoupdate=registry
- pratham.container.category=uptime
environment:
- TZ=Asia/Kolkata
depends_on:
- gitea-web
- thefossguy-blog
- thefossguy-mach
- nextcloud-web
- gotify-server
################################################################################
transmission-web:
image: lscr.io/linuxserver/transmission:latest
pull_policy: always
container_name: transmission-raadhe
restart: always
ports:
- "8009:9091" # transmission web-ui
- "8010:51413" # torrent port TCP
- "8011:51413/udp" # torrent port UDP
volumes:
- /trayimurti/torrents/downloads:/downloads:Z
- /trayimurti/torrents/config:/config:Z
labels:
- io.containers.autoupdate=registry
- pratham.container.category=torrent
environment:
- TZ=Asia/Kolkata
secrets:
gitea_database_user_password:
external: true
nextcloud_database_user_password:
external: true
# SERVICE_TEMPLATE
# service:
# image:
# pull_policy: always
# container_name:
# command OR entrypoint:
# restart: always
# ports:
# volumes:
# labels:
# - io.containers.autoupdate=registry
# - pratham.container.category=
# environment:
# - TZ=Asia/Kolkata
# sysctls:
# cap_add:
# depends_on:
# secrets:
# networks: