version: "3.8"
services:
  wuzapi-server:
    image: asternic/wuzapi:sha-30c1805
    restart: unless-stopped
    expose:
      - 8080
    environment:
      - WUZAPI_ADMIN_TOKEN=${WUZAPI_ADMIN_TOKEN}
      - WUZAPI_GLOBAL_ENCRYPTION_KEY=${WUZAPI_GLOBAL_ENCRYPTION_KEY}
      - DB_USER=${DB_USER:-wuzapi}
      - DB_PASSWORD=${DB_PASSWORD:-wuzapi}
      - DB_NAME=${DB_NAME:-wuzapi}
      - DB_HOST=db
      - DB_PORT=5432
      - TZ=${TZ:-UTC}
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    restart: always
    environment:
      POSTGRES_USER: ${DB_USER:-wuzapi}
      POSTGRES_PASSWORD: ${DB_PASSWORD:-wuzapi}
      POSTGRES_DB: ${DB_NAME:-wuzapi}
    volumes:
      - db_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $${DB_USER:-wuzapi}"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  db_data:
