version: "2.4" services: postgres: image: postgis/postgis:16-3.4 environment: POSTGRES_DB: seacompass POSTGRES_USER: seacompass POSTGRES_PASSWORD: seacompass ports: - "${WATERMAPS_POSTGRES_PORT:-${SEA_COMPASS_POSTGRES_PORT:-55432}}:5432" volumes: - postgres-data:/var/lib/postgresql/data - ./database/schema.sql:/docker-entrypoint-initdb.d/01-schema.sql:ro healthcheck: test: ["CMD-SHELL", "pg_isready -U seacompass -d seacompass"] interval: 10s timeout: 5s retries: 5 redis: image: redis:7-alpine ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 martin: image: ghcr.io/maplibre/martin:latest command: ["--config", "/config/martin.yaml"] ports: - "3000:3000" volumes: - ./database/martin.yaml:/config/martin.yaml:ro depends_on: postgres: condition: service_healthy volumes: postgres-data: