services:
  postgres:
    image: postgres:16-alpine
    container_name: tg-dev-srv-bot-postgres
    restart: always
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: YOUR_POSTGRES_PASSWORD_HERE
      POSTGRES_DB: tg_dev_srv_bot
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: [ "CMD-SHELL", "pg_isready -U $${POSTGRES_USER:-postgres} -d $${POSTGRES_DB:-tg_dev_srv_bot}" ]
      interval: 5s
      timeout: 5s
      retries: 5
  tg-dev-srv-bot:
    build:
      context: .
      dockerfile: Dockerfile
    # OR pull from registry
    # image: git.ewenlau.net/ewenlau/tg-dev-srv-bot:latest
    # image: git.ewenlau.net/ewenlau/tg-dev-srv-bot:dev
    container_name: tg-dev-srv-bot
    restart: always
    depends_on:
      - postgres
    environment:
      TG_BOT_DISCORD_TOKEN: YOUR_DISCORD_TOKEN_HERE
      TG_BOT_DATABASE_URL: postgres://postgres:YOUR_POSTGRES_PASSWORD_HERE@postgres:5432/tg_dev_srv_bot
      TG_BOT_LOG: info

volumes:
  postgres_data:
    driver: local
