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: