add forgejo, add jupyter

This commit is contained in:
Aron Petau 2025-11-05 14:32:21 +01:00
parent a6d498bda0
commit 98417edd8b
23 changed files with 562 additions and 261 deletions

View file

@ -108,10 +108,10 @@ services:
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
environment:
- APP_KEY=${BOOKSTACK_APP_KEY}
- APP_URL=${BOOKSTACK_APP_URL}
env_file:
- .env
- MYSQL_ROOT_PASSWORD=${BOOKSTACK_DB_PASSWORD}
- MYSQL_DATABASE=${BOOKSTACK_DB_DATABASE}
- MYSQL_USER=${BOOKSTACK_DB_USERNAME}
- MYSQL_PASSWORD=${BOOKSTACK_DB_PASSWORD}
volumes:
- ./bookstack/bookstack_app_data:/config
ports:
@ -121,7 +121,11 @@ services:
bookstack-mariadb:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost/ || exit 1"]
test:
[
"CMD-SHELL",
"mariadb -u${BOOKSTACK_DB_USERNAME} -p${BOOKSTACK_DB_PASSWORD} -e 'SELECT 1' || exit 1",
]
interval: 30s
timeout: 10s
retries: 3
@ -135,10 +139,10 @@ services:
image: lscr.io/linuxserver/mariadb:latest
container_name: bookstack-mariadb
environment:
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
- MYSQL_DATABASE=${DB_DATABASE}
- MYSQL_USER=${DB_USERNAME}
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_ROOT_PASSWORD=${BOOKSTACK_DB_PASSWORD}
- MYSQL_DATABASE=${BOOKSTACK_DB_DATABASE}
- MYSQL_USER=${BOOKSTACK_DB_USERNAME}
- MYSQL_PASSWORD=${BOOKSTACK_DB_PASSWORD}
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
@ -151,7 +155,7 @@ services:
test:
[
"CMD-SHELL",
"mariadb -u${DB_USERNAME} -p${DB_PASSWORD} -e 'SELECT 1' || exit 1",
"mariadb -u${BOOKSTACK_DB_USERNAME} -p${BOOKSTACK_DB_PASSWORD} -e 'SELECT 1' || exit 1",
]
interval: 10s
timeout: 5s
@ -207,6 +211,59 @@ services:
- "description=Portainer Container Management UI"
- "maintainer=Studio EinsZwoVier"
jupyterhub:
build: ./jupyterhub
container_name: jupyterhub
ports:
- "8001:8001"
- "8081:8081"
volumes:
- ./data:/home
- ./jupyterhub/jupyterhub_config.py:/srv/jupyterhub/jupyterhub_config.py:ro
- ./static/images/logo.png:/srv/jupyterhub/logo.png:ro
- /var/run/docker.sock:/var/run/docker.sock # Docker socket for spawning containers
env_file:
- .env
environment:
- JUPYTERHUB_SINGLEUSER_APP=jupyterlab
restart: unless-stopped
mem_limit: 2g
cpus: 1.0
depends_on:
- web
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "description=JupyterHub for interactive notebooks"
- "maintainer=Studio EinsZwoVier"
forgejo:
image: codeberg.org/forgejo/forgejo:11
container_name: forgejo
environment:
- USER_UID=1000
- USER_GID=1000
- TZ=Europe/Berlin
- FORGEJO__repository__ENABLE_PUSH_CREATE_USER=true
restart: unless-stopped
ports:
- "${FORGEJO_PORT:-3003}:3000"
- "222:22"
volumes:
- ./forgejo/data:/data
mem_limit: 2g
cpus: 2.0
mem_reservation: 512m
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "description=Forgejo Git Server"
- "maintainer=Studio EinsZwoVier"
volumes:
portainer_data:
driver: local