version: '3.9' services: db: image: xbgmsharp/timescaledb-postgis container_name: db restart: unless-stopped env_file: .env environment: - POSTGRES_DB=postgres - TIMESCALEDB_TELEMETRY=off - PGDATA=/var/lib/postgresql/data/pgdata - TZ=UTC network_mode: "host" ports: - "5432:5432" volumes: - data:/var/lib/postgresql/data - $PWD/initdb:/docker-entrypoint-initdb.d logging: options: max-size: 10m healthcheck: test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_USER} -d signalk'"] interval: 60s timeout: 10s retries: 5 start_period: 100s api: image: postgrest/postgrest container_name: api restart: unless-stopped ports: - "3000:3000" env_file: .env environment: PGRST_DB_SCHEMA: api PGRST_DB_ANON_ROLE: api_anonymous PGRST_OPENAPI_SERVER_PROXY_URI: http://127.0.0.1:3000 PGRST_DB_PRE_REQUEST: public.check_jwt network_mode: "host" depends_on: - db logging: options: max-size: 10m #healthcheck: # test: ["CMD-SHELL", "sh -c 'curl --fail http://localhost:3003/live || exit 1'"] # interval: 60s # timeout: 10s # retries: 5 # start_period: 100s app: image: grafana/grafana:latest container_name: app restart: unless-stopped volumes: - data:/var/lib/grafana - data:/var/log/grafana - $PWD/grafana:/etc/grafana ports: - "3001:3000" network_mode: "host" env_file: .env environment: - GF_INSTALL_PLUGINS=pr0ps-trackmap-panel,fatcloud-windrose-panel - GF_USERS_ALLOW_SIGN_UP=false - GF_SMTP_ENABLED=false depends_on: - db logging: options: max-size: 10m #healthcheck: # test: ["CMD-SHELL", "sh -c 'curl --fail http://localhost:3000/healthz || exit 1'"] # interval: 60s # timeout: 10s # retries: 5 # start_period: 100s telegram: image: xbgmsharp/postgsail-telegram-bot container_name: telegram restart: unless-stopped volumes: - /etc/resolv.conf:/etc/resolv.conf:ro ports: - "3005:8080" network_mode: "host" env_file: .env environment: - BOT_TOKEN=${PGSAIL_TELEGRAM_BOT_TOKEN} - PGSAIL_URL=${PGSAIL_API_URL} depends_on: - db - api logging: options: max-size: 10m web: image: xbgmsharp/postgsail-vuestic container_name: web restart: unless-stopped volumes: - /etc/resolv.conf:/etc/resolv.conf:ro ports: - "3006:8080" network_mode: "host" env_file: .env depends_on: - db - api logging: options: max-size: 10m volumes: data: {}