version: "3.9" services: postgres: image: postgres:15 container_name: postgres restart: always environment: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - ./data/postgres:/var/lib/postgresql/data networks: - gitea_net gitea: image: gitea/gitea:latest container_name: gitea restart: always environment: - USER_UID=1000 - USER_GID=1000 # DB - 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} # basic - GITEA__server__DOMAIN=${GITEA_URL} - GITEA__server__ROOT_URL=https://${GITEA_URL}/ - GITEA__server__SSH_DOMAIN=${GITEA_URL} - GITEA__server__HTTP_PORT=3000 - GITEA__server__SSH_PORT=2222 # security - GITEA__security__INSTALL_LOCK=true - GITEA__service__DISABLE_REGISTRATION=true volumes: - ./data/gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro depends_on: - postgres networks: - gitea_net nginx: image: nginx:stable container_name: nginx restart: always ports: - "80:80" - "443:443" volumes: - ./nginx:/etc/nginx/conf.d - /etc/letsencrypt:/etc/letsencrypt:ro depends_on: - gitea networks: - gitea_net networks: gitea_net: