version: "3"

services:
  web:
    image: docker.io/thatonecalculator/calckey
    container_name: calckey_web
    restart: unless-stopped
    depends_on:
      - db
      - redis
      - sonic
    ports:
      - "3000:3000"
    networks:
      - calcnet
#     - web
    environment:
      NODE_ENV: production
    volumes:
      - ./files:/calckey/files
      - ./.config:/calckey/.config:ro

  redis:
    restart: unless-stopped
    image: docker.io/redis:7.0-alpine
    container_name: calckey_redis
    networks:
      - calcnet
    volumes:
      - ./redis:/data

  db:
    restart: unless-stopped
    image: docker.io/postgres:12.2-alpine
    container_name: calckey_db
    networks:
      - calcnet
    env_file:
      - .config/docker.env
    volumes:
      - ./db:/var/lib/postgresql/data

  sonic:
    restart: unless-stopped
    image: docker.io/valeriansaliou/sonic:v1.4.0
    networks:
      - calcnet
    volumes:
      - ./sonic:/var/lib/sonic/store
      - ./sonic/config.cfg:/etc/sonic.cfg

networks:
  calcnet:
    #  web:
    #    external:
    #      name: web