services: # PostgreSQL with PostGIS Service postgres: image: kartoza/postgis:15-3.3 container_name: workshop-postgres restart: unless-stopped environment: POSTGRES_DB: osm POSTGRES_USER: postgres POSTGRES_PASS: postgres PGDATA: /var/lib/postgresql/data/pgdata DEFAULT_ENCODING: "UTF8" volumes: - postgres_data:/var/lib/postgresql/data - ./init-scripts:/docker-entrypoint-initdb.d - ./osm-data:/osm-data networks: - workshop_net ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d osm"] interval: 30s timeout: 5s retries: 3 start_period: 40s # Tegola Vector Tile Server Service tegola: image: gospatial/tegola:latest container_name: workshop-tegola restart: unless-stopped command: ["serve", "--config", "/etc/tegola/config.toml"] volumes: - ./tegola_config.toml:/etc/tegola/config.toml networks: - workshop_net ports: - "8080:8080" depends_on: postgres: condition: service_healthy healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080/capabilities"] interval: 15s timeout: 5s retries: 3 start_period: 20s volumes: postgres_data: driver: local networks: workshop_net: driver: bridge