Anschließend müssen wir in der YAML Datei die Web-App hinzufügen. Im Schritt 6 haben wir schon ein YAML File für JupyterHub erstellt. In diesem File fügen wir die Web-App hinzu.
nano /opt/WebApp/docker-compose.yml
Die komplette YAML Datei sieht dann so aus:
services:
singlekursweb:
image: guyq1997/singlecourse:latest
command: /app/docker-entrypoint.sh
volumes:
- ./static_volume:/app/staticfiles
- /opt/exchange_data/data_kurs_app:/app/data
- ./db:/app/db
#- ./app:/app/app
environment:
ALLOWED_HOSTS: domain_your_manager_node
CSRF_TRUSTED_ORIGINS: domain_your_manager_node
ports:
- "8008:8008"
networks:
- jupyterhub_network
deploy:
placement:
constraints:
- node.role == manager
jupyterhub:
depends_on:
- jupyterhub-database
image: guyq1997/jupyterhub-dhbw:v5
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:rw"
- "./jupyterhub_config.py:/srv/jupyterhub/jupyterhub_config.py"
- "./forum_service.py:/srv/jupyterhub/forum_service.py"
- "./idle_culler.py:/srv/jupyterhub/idle_culler.py"
- "./jupyterhub-datavolume:/data"
- "./forum-database/forumbase.db:/opt/forum-database/forumbase.db"
- "/opt/exchange_data:/srv/ngshare"
environment:
DOCKER_NETWORK_NAME: jupyterhub_network
POSTGRES_DB: jupyterhub
POSTGRES_HOST: jupyterhub-database
POSTGRES_PASSWORD: databrix
ports:
- "8000:8000"
links:
- jupyterhub-database
networks:
- jupyterhub_network
command: >
jupyterhub -f /srv/jupyterhub/jupyterhub_config.py
deploy:
placement:
constraints:
- node.role == manager
jupyterhub-database:
image: postgres:16
restart: always
environment:
POSTGRES_DB: jupyterhub
PGDATA: /var/lib/postgresql/data
POSTGRES_PASSWORD: databrix
volumes:
- "./database-volume:/var/lib/postgresql/data"
networks:
- jupyterhub_network
deploy:
placement:
constraints:
- node.role == manager
networks:
jupyterhub_network:
name: jupyterhub_network
driver: overlay
attachable: true