services: postgres: image: postgres:16-alpine container_name: gitea-postgres restart: unless-stopped env_file: - .env volumes: - ./postgres:/var/lib/postgresql/data networks: - gitea-internal healthcheck: test: ["CMD-SHELL", "pg_isready -U gitea -d gitea"] interval: 10s timeout: 5s retries: 5 gitea: image: gitea/gitea:latest container_name: gitea restart: unless-stopped ports: - "2222:22" depends_on: postgres: condition: service_healthy env_file: - .env environment: - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=postgres:5432 - GITEA__database__NAME=${POSTGRES_DB} - GITEA__database__USER=${POSTGRES_USER} - GITEA__database__PASSWD=${POSTGRES_PASSWORD} - GITEA__server__DOMAIN=git.zerafa.com - GITEA__server__ROOT_URL=https://git.zerafa.com/ - GITEA__server__HTTP_PORT=3000 - GITEA__service__DISABLE_REGISTRATION=true volumes: - ./data:/data networks: - gitea-internal - proxy networks: gitea-internal: internal: true proxy: external: true