services: opengist_db: container_name: opengist_db image: docker.io/library/postgres:17.5 restart: unless-stopped environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} volumes: - ${APPDATA_PATH}/opengist/db:/var/lib/postgresql/data ports: - ${DB_PORT}:5432 networks: - backend healthcheck: test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"] interval: 10s timeout: 5s retries: 3 start_period: 10s opengist_server: container_name: opengist_server image: ghcr.io/thomiceli/opengist:1.10.0 restart: unless-stopped depends_on: opengist_db: condition: service_healthy labels: - traefik-instance=${TRAEFIK_INSTANCE} - traefik.enable=true - traefik.http.routers.opengist.rule=Host(`${TRAEFIK_DOMAIN}`) - traefik.http.routers.opengist.entrypoints=websecure - traefik.http.services.opengist.loadbalancer.server.port=6157 - traefik.docker.network=frontend environment: - UID=${UID} - GID=${GID} - OG_DB_URI=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@opengist_db:5432/${POSTGRES_DB} - OG_EXTERNAL_URL=https://${TRAEFIK_DOMAIN} - OG_SECRET_KEY=${OG_SECRET_KEY} - OG_HTTP_GIT_ENABLED=${OG_HTTP_GIT_ENABLED} - OG_SSH_GIT_ENABLED=${OG_SSH_GIT_ENABLED} - OG_GITEA_CLIENT_KEY=${OG_GITEA_CLIENT_KEY} - OG_GITEA_SECRET=${OG_GITEA_SECRET} - OG_GITEA_URL=${OG_GITEA_URL} - OG_GITEA_NAME=${OG_GITEA_NAME} - OG_CUSTOM_STATIC_LINK_0_NAME=Gitea - OG_CUSTOM_STATIC_LINK_0_PATH=${OG_GITEA_URL} volumes: - ${APPDATA_PATH}/opengist/data:/opengist ports: - ${SERVER_PORT}:6157 - 2222:2222 networks: - frontend - backend networks: frontend: external: true backend: external: true