services:
  fromis9-frontend:
    build: ./frontend
    container_name: fromis9-frontend
    labels:
      - "com.centurylinklabs.watchtower.enable=false"
    volumes:
      - ./frontend:/app
    depends_on:
      - fromis9-backend
    networks:
      - app
    restart: unless-stopped

  fromis9-backend:
    build: ./backend
    container_name: fromis9-backend
    labels:
      - "com.centurylinklabs.watchtower.enable=false"
    env_file:
      - .env
    volumes:
      - ./backend:/app
    networks:
      - app
      - db
    restart: unless-stopped

  meilisearch:
    image: getmeili/meilisearch:latest
    container_name: fromis9-meilisearch
    labels:
      - "com.centurylinklabs.watchtower.enable=false"
    environment:
      - MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
    volumes:
      - ./meilisearch_data:/meili_data
    networks:
      - app
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    container_name: fromis9-redis
    volumes:
      - ./redis_data:/data
    networks:
      - app
    restart: unless-stopped

networks:
  app:
    external: true
  db:
    external: true
