services:
  searxng:
    image: docker.io/searxng/searxng:latest
    volumes:
      - ./searxng:/etc/searxng:rw
    ports:
      - 4000:8080
    networks:
      - perplexica-network
    restart: unless-stopped

  perplexica-backend:
    build:
      context: .
      args:
        - USER=root
      dockerfile: backend.dockerfile
    image: itzcrazykns1337/perplexica-backend:main
    depends_on:
      - searxng
    ports:
      - 3001:3001
    volumes:
      - backend-dbstore:/app/data:rw
      - ./config.toml:/app/config.toml:rw
    extra_hosts:
      - 'host.docker.internal:host-gateway'
    networks:
      - perplexica-network
    env_file: 
      - ./.env
    restart: unless-stopped

  perplexica-frontend:
    build:
      context: .
      dockerfile: app.dockerfile
    image: itzcrazykns1337/perplexica-frontend:main
    depends_on:
      - perplexica-backend
    ports:
      - 3000:3000
    networks:
      - perplexica-network
    env_file: 
      - ./.env
    restart: unless-stopped

networks:
  perplexica-network:

volumes:
  backend-dbstore: