services: openvox: image: ghcr.io/openvoxproject/openvoxserver:8.8.0-latest container_name: openvox hostname: puppet ports: - "8140:8140" # Puppet Server API - "8141:8141" # Puppet Server HTTP - "8142:8142" # Puppet Server HTTPS volumes: - ./code:/etc/puppetlabs/code - ./ca-ssl:/etc/puppetlabs/puppet/ssl environment: - OPENVOXSERVER_ENVIRONMENT_TIMEOUT=10 networks: - openvox_network postgres: image: postgres:16.2 container_name: postgres hostname: postgres environment: POSTGRES_USER: openvox POSTGRES_PASSWORD: StartStart1234 POSTGRES_DB: openvoxdb POSTGRES_EXTENSIONS: pg_trgm volumes: - postgres_data:/var/lib/postgresql/data - ./config/postgres/postgresql.conf:/etc/postgresql/postgresql.conf - ./config/postgres/pg_hba.conf:/etc/postgresql/pg_hba.conf - ./config/postgres/script:/docker-entrypoint-initdb.d ports: - "5432:5432" networks: - openvox_network healthcheck: test: ["CMD-SHELL", "pg_isready -U openvox -d openvoxdb"] interval: 5s timeout: 3s retries: 5 start_period: 10s openvoxdb: image: ghcr.io/openvoxproject/openvoxdb:8.9.0-latest container_name: openvoxdb environment: OPENVOXDB_POSTGRES_HOSTNAME: postgres OPENVOXDB_POSTGRES_PORT: 5432 OPENVOXDB_POSTGRES_USER: openvox OPENVOXDB_POSTGRES_DATABASE: openvoxdb OPENVOXDB_POSTGRES_PASSWORD: StartStart1234 OPENVOXSERVER_HOSTNAME: puppet OPENVOXSERVER_PORT: 8140 networks: - openvox_network volumes: - openvoxdb_data:/var/lib/openvoxdb - openvoxdb_ca:/etc/puppetlabs/puppetserver/ca depends_on: postgres: condition: service_healthy healthcheck: test: ["CMD-SHELL", "PGPASSWORD=StartStart1234 pg_isready -h postgres -p 5432 -U openvox"] interval: 5s timeout: 5s retries: 5 start_period: 30s volumes: postgres_data: openvoxdb_data: openvoxdb_ca: networks: openvox_network: driver: bridge