| # PURPOSE: | |
| # Run KnowFlow AI in Docker for development and demo. | |
| # | |
| # SERVICES: | |
| # 1. knowflow-dev | |
| # - JupyterLab development environment | |
| # | |
| # 2. knowflow-streamlit | |
| # - Future Streamlit app service for Phase 3 | |
| # | |
| # docker compose makes local development repeatable. | |
| # Recruiters can run the same project with the same commands. | |
| # ============================================================ | |
| services: | |
| knowflow-dev: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| container_name: knowflow-ai-dev | |
| ports: | |
| - "8888:8888" | |
| env_file: | |
| - .env | |
| environment: | |
| PYTHONPATH: /app | |
| STREAMLIT_SERVER_FILE_WATCHER_TYPE: none | |
| volumes: | |
| - .:/app | |
| command: > | |
| jupyter lab | |
| --ip=0.0.0.0 | |
| --port=8888 | |
| --no-browser | |
| --allow-root | |
| --NotebookApp.token= | |
| --NotebookApp.password= | |
| restart: unless-stopped | |
| knowflow-streamlit: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| container_name: knowflow-ai-streamlit | |
| ports: | |
| - "8501:8501" | |
| env_file: | |
| - .env | |
| environment: | |
| PYTHONPATH: /app | |
| STREAMLIT_SERVER_FILE_WATCHER_TYPE: none | |
| volumes: | |
| - .:/app | |
| command: > | |
| streamlit run app/streamlit_app.py | |
| --server.address=0.0.0.0 | |
| --server.port=8501 | |
| restart: unless-stopped | |
| profiles: | |
| - streamlit |