# Geonet Console — unified ops platform (Laravel) # Dockge: /opt/stacks/geonet-console # UI: https://console.gisportal.id (Nginx reverse proxy) services: audit-postgres: image: postgres:16-alpine container_name: geonet-console-audit restart: unless-stopped environment: POSTGRES_DB: ${AUDIT_DB_DATABASE:-databaselist_audit} POSTGRES_USER: ${AUDIT_DB_USERNAME:-audit} POSTGRES_PASSWORD: ${AUDIT_DB_PASSWORD:-audit_secret_change_me} volumes: - audit_pg_data:/var/lib/postgresql/data - ./docker/postgres-init:/docker-entrypoint-initdb.d:ro healthcheck: test: ["CMD-SHELL", "pg_isready -U ${AUDIT_DB_USERNAME:-audit} -d ${AUDIT_DB_DATABASE:-databaselist_audit}"] interval: 10s timeout: 5s retries: 5 geonet-console: build: . image: geonet-console:latest container_name: geonet-console restart: unless-stopped dns: - 203.142.82.222 - 203.142.84.222 depends_on: audit-postgres: condition: service_healthy ports: - "127.0.0.1:8091:80" env_file: - .env environment: DB_CONNECTION: pgsql APP_DB_HOST: audit-postgres APP_DB_PORT: 5432 APP_DB_DATABASE: ${APP_DB_DATABASE:-databaselist_app} APP_DB_USERNAME: ${APP_DB_USERNAME:-audit} APP_DB_PASSWORD: ${APP_DB_PASSWORD:-audit_secret_change_me} AUDIT_DB_HOST: audit-postgres AUDIT_DB_PORT: 5432 AUDIT_DB_DATABASE: ${AUDIT_DB_DATABASE:-databaselist_audit} AUDIT_DB_USERNAME: ${AUDIT_DB_USERNAME:-audit} AUDIT_DB_PASSWORD: ${AUDIT_DB_PASSWORD:-audit_secret_change_me} volumes: - app_storage:/var/www/html/storage - ./database:/var/www/html/database healthcheck: test: ["CMD-SHELL", "curl -sf http://127.0.0.1/up >/dev/null || exit 1"] interval: 60s timeout: 10s retries: 3 start_period: 90s volumes: audit_pg_data: external: true name: databaselist_audit_pg_data app_storage: