services: postgres: image: postgres:16-alpine restart: unless-stopped volumes: - postgres_data:/var/lib/postgresql/data environment: - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} networks: - backend nextcloud: image: nextcloud:latest restart: unless-stopped volumes: - nextcloud_data:/var/www/html/data - nextcloud_config:/var/www/html/config environment: - POSTGRES_HOST=postgres - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER} - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD} - TRUSTED_DOMAINS=${TRUSTED_DOMAINS} - OVERWRITEPROTOCOL=https depends_on: - postgres ports: - "10.0.0.2:8080:80" networks: - backend gitea: image: gitea/gitea:latest restart: unless-stopped volumes: - gitea_data:/data expose: - "3000" - "2222" environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=sqlite3 - GITEA__server__PROTOCOL=http - GITEA__server__DOMAIN=${GITEA_DOMAIN} - GITEA__server__ROOT_URL=https://${GITEA_DOMAIN}/ - GITEA__server__SSH_PORT=2222 - GITEA__server__HTTP_PORT=3000 - GITEA__security__INSTALL_LOCK=true ports: - "10.0.0.2:3000:3000" - "10.0.0.2:2222:22" networks: - backend postgres_remote: image: postgres:16-alpine restart: unless-stopped volumes: - postgres_remote_data:/var/lib/postgresql/data environment: - POSTGRES_DB=${PG_DB} - POSTGRES_USER=${PG_USER} - POSTGRES_PASSWORD=${PG_PASSWORD} ports: - "10.0.0.2:5432:5432" networks: - backend networks: backend: driver: bridge volumes: postgres_data: postgres_remote_data: nextcloud_data: nextcloud_config: gitea_data: