version: "3.5"

services:
  web:
    # You can build your own image from the source running: `just rel-build && just rel-tag-latest`
    image: "bonfirenetworks/bonfire:latest-${FLAVOUR}"
    container_name: "bonfire_web"
    restart: always
    ports:
      - "4000:4000" # you may want to comment this in production
    env_file:
      - config/prod/.env
    environment:
      - POSTGRES_HOST=db
      - SEARCH_MEILI_INSTANCE=http://search:7700
    depends_on:
      - db
    volumes:
      - type: bind
        source: ./data/uploads
        target: /opt/app/data/uploads
  proxy:
    image: "caddy:alpine"
    restart: always
    ports:
      - "80:80"
      - "443:443"
    env_file:
      - config/prod/.env
    volumes:
      - type: bind
        source: ./config/deploy/Caddyfile2
        target: /etc/caddy/Caddyfile
        read_only: true
      - type: bind
        source: ./data/uploads
        target: /frontend/uploads
  db:
    image: ${DB_DOCKER_IMAGE}
    restart: always
    volumes:
      - "./data/postgres/prod:/var/lib/postgresql/data"
    # ports:
    #   - "5432:5432"
    env_file:
      - config/prod/.env
  search:
    image: getmeili/meilisearch:latest
    # ports:
      # - "7700:7700"
    volumes:
      - "./data/search/prod:/data.ms"
    env_file:
      - config/prod/.env
