version: "3.9" services: db: image: postgres:15 container_name: gitea-db restart: always environment: POSTGRES_DB: ${GITEA_DB_NAME} POSTGRES_USER: ${GITEA_DB_USER} POSTGRES_PASSWORD: ${GITEA_DB_PASSWORD} volumes: - gitea_postgres_data:/var/lib/postgresql/data networks: - gitea_net gitea: image: gitea/gitea:latest container_name: gitea-server restart: always depends_on: - db environment: USER_UID: 1000 USER_GID: 1000 GITEA__server__ROOT_URL: ${GITEA_EXTERNAL_URL} GITEA__server__DOMAIN: ${GITEA_DOMAIN} GITEA__server__SSH_DOMAIN: ${GITEA_DOMAIN} GITEA__server__SSH_PORT: ${SSH_PORT} GITEA__database__DB_TYPE: ${GITEA_DB_TYPE} GITEA__database__HOST: ${GITEA_DB_HOST} GITEA__database__NAME: ${GITEA_DB_NAME} GITEA__database__USER: ${GITEA_DB_USER} GITEA__database__PASSWD: ${GITEA_DB_PASSWORD} GITEA__security__INSTALL_LOCK: true GITEA__mailer__ENABLED: ${SMTP_ENABLE} GITEA__mailer__HOST: ${SMTP_HOST}:${SMTP_PORT} GITEA__mailer__USER: ${SMTP_USER} GITEA__mailer__PASSWD: ${SMTP_PASS} GITEA__mailer__FROM: ${SMTP_FROM} GITEA__mailer__SKIP_VERIFY: ${SMTP_SKIP_VERIFY} volumes: - gitea_data:/data ports: - "${HTTP_PORT}:3000" - "${SSH_PORT}:22" networks: - gitea_net networks: gitea_net: driver: bridge volumes: gitea_data: gitea_postgres_data: