37 lines
1.0 KiB
YAML
37 lines
1.0 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
notebook-viewer:
|
|
build: .
|
|
ports:
|
|
- "${FLASK_PORT:-5000}:5000"
|
|
volumes:
|
|
- "${JUPYTERHUB_SHARED_DIR:-./shared}:/shared:ro"
|
|
- "./notebooks:/notebooks:ro" # Additional notebooks directory
|
|
environment:
|
|
- JUPYTERHUB_SHARED_DIR=/shared
|
|
- FLASK_HOST=0.0.0.0
|
|
- FLASK_PORT=5000
|
|
- FLASK_DEBUG=${FLASK_DEBUG:-False}
|
|
- FLASK_SECRET_KEY=${FLASK_SECRET_KEY:-change-me-in-production}
|
|
- MAX_FILE_SIZE=${MAX_FILE_SIZE:-16777216}
|
|
- NOTEBOOKS_PER_PAGE=${NOTEBOOKS_PER_PAGE:-50}
|
|
- ALLOWED_EXTENSIONS=${ALLOWED_EXTENSIONS:-.ipynb,.py,.md}
|
|
- ENABLE_DOWNLOAD=${ENABLE_DOWNLOAD:-True}
|
|
- ENABLE_API=${ENABLE_API:-True}
|
|
- APP_TITLE=${APP_TITLE:-JupyterHub Notebook Viewer}
|
|
- THEME=${THEME:-dark}
|
|
env_file:
|
|
- .env
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:5000/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
volumes:
|
|
shared:
|
|
driver: local
|