services: keycloak: image: quay.io/keycloak/keycloak:26.1 command: ["start-dev"] environment: KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: admin KC_FEATURES: admin-fine-grained-authz ports: - "8080:8080" depends_on: - openldap networks: - perplexica-network openldap: image: osixia/openldap:latest environment: LDAP_ORGANISATION: "Dev Corp" LDAP_DOMAIN: dev.local LDAP_BASE_DN: dc=dev,dc=local LDAP_ADMIN_PASSWORD: admin ports: - "389:389" networks: - perplexica-network 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: . dockerfile: backend.dockerfile image: itzcrazykns1337/perplexica-backend:main environment: - SEARXNG_API_URL=http://searxng:8080 depends_on: - searxng ports: - "3001:3001" volumes: - backend-dbstore:/home/perplexica/data - uploads:/home/perplexica/uploads - ./config.toml:/home/perplexica/config.toml extra_hosts: - 'host.docker.internal:host-gateway' networks: - perplexica-network restart: unless-stopped perplexica-frontend: build: context: . dockerfile: app.dockerfile args: - NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api - NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001 image: itzcrazykns1337/perplexica-frontend:main depends_on: - perplexica-backend ports: - "3000:3000" networks: - perplexica-network restart: unless-stopped networks: perplexica-network: volumes: backend-dbstore: uploads: