services: db: image: postgres:17 container_name: Gitea-DB hostname: gitea-db security_opt: - no-new-privileges:true healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "gitea", "-U", "giteauser"] timeout: 45s interval: 10s retries: 10 volumes: - /volume1/docker/gitea/db:/var/lib/postgresql/data:rw environment: - POSTGRES_DB=gitea - POSTGRES_USER=giteauser - POSTGRES_PASSWORD=${GITEA_DB_PASSWORD} restart: on-failure:5 gitea: image: gitea/gitea:latest container_name: Gitea hostname: gitea depends_on: db: condition: service_healthy security_opt: - no-new-privileges:true healthcheck: test: wget --no-verbose --tries=1 --spider http://localhost:3000/ || exit 1 interval: 10s timeout: 5s retries: 5 ports: - 3052:3000 - 2222:22 volumes: - /volume1/docker/gitea/data:/data - /volume1/docker/gitea/data:/data/git/repositories:rw - /etc/TZ:/etc/TZ:ro - /etc/localtime:/etc/localtime:ro environment: - USER_UID=1026 - USER_GID=100 - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=gitea-db:5432 - GITEA__database__NAME=gitea - GITEA__database__USER=giteauser - GITEA__database__PASSWD=${GITEA_DB_PASSWORD} - ROOT_URL=https://gitea.straymoog.xyz restart: on-failure:5