[Multi-User Part 5]: Add a production Docker file and use a gunicorn configuration with it (#514)

- Add a productionized setup for the Khoj server using `gunicorn` with multiple workers for handling requests
- Add a new Dockerfile meant for production config at `ghcr.io/khoj-ai/khoj:prod`; the existing Docker config should remain the same
This commit is contained in:
sabaimran
2023-10-26 13:15:31 -07:00
committed by GitHub
parent 9acc722f7f
commit 5f3f6b7c61
12 changed files with 117 additions and 11 deletions

View File

@@ -39,6 +39,7 @@ services:
- ./tests/data/embeddings/:/root/.khoj/content/
- ./tests/data/models/:/root/.khoj/search/
- khoj_config:/root/.khoj/
- khoj_models:/root/.cache/torch/sentence_transformers
# Use 0.0.0.0 to explicitly set the host ip for the service on the container. https://pythonspeed.com/articles/docker-connection-refused/
environment:
- POSTGRES_DB=postgres
@@ -46,9 +47,12 @@ services:
- POSTGRES_PASSWORD=postgres
- POSTGRES_HOST=database
- POSTGRES_PORT=5432
- GOOGLE_CLIENT_SECRET=bar
- GOOGLE_CLIENT_ID=foo
command: --host="0.0.0.0" --port=42110 -vv
volumes:
khoj_config:
khoj_db:
khoj_models: