version: "3"

services:
  app:
    build:
      context: ../
      dockerfile: docker/Dockerfile
    container_name: focalboard
    depends_on:
      - focalboard-db
    expose:
      - 8000
    environment:
      - VIRTUAL_HOST=localhost
      - VIRTUAL_PORT=8000
      - VIRTUAL_PROTO=http
    volumes:
      - "./config.json:/opt/focalboard/config.json"
    restart: always
    networks:
      - proxy
      - default

  proxy:
    image: jwilder/nginx-proxy:latest
    container_name: focalboard-proxy
    restart: always
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - proxy

  focalboard-db:
    image: postgres:latest
    container_name: focalboard-postgres
    restart: always
    volumes:
      - "./data:/var/lib/postgresql/data"
    environment:
      POSTGRES_DB: boards
      POSTGRES_USER: boardsuser
      POSTGRES_PASSWORD: boardsuser-password

networks:
  proxy:
