Files
stellars-jupyterhub-ds/extra/traefik-host-based-routing
stellarshenson dd0ce86add feat: add traefik host-based routing deployment template
Add extra/traefik-host-based-routing/ template for creating local
deployments with Traefik reverse proxy and self-signed certificates:

- compose_override.yml with YOURDOMAIN placeholder
- Makefile with start/stop/pull/logs/status targets
- start.sh (clone/pull + start services)
- stop.sh (stop services)
- generate-certs.sh (creates wildcard cert for given domain)
- certs/tls.yml template for Traefik file provider
- .gitignore (excludes certs and cloned repo)

Usage: copy folder, run generate-certs.sh, edit compose_override.yml,
run start.sh to clone repo and start services
2026-01-05 09:39:51 +00:00
..

Traefik Host-Based Routing Template

Template for deploying stellars-jupyterhub-ds with local Traefik reverse proxy and self-signed certificates.

Quick Start

  1. Copy this folder to create a new deployment:

    cp -r extra/traefik-host-based-routing /path/to/<name>_stellars_jupyterhub_ds
    cd /path/to/<name>_stellars_jupyterhub_ds
    
  2. Clone stellars-jupyterhub-ds:

    git clone https://github.com/stellarshenson/stellars-jupyterhub-ds.git
    
  3. Generate certificates for your domain:

    ./generate-certs.sh yourdomain.example.com
    
  4. Edit compose_override.yml - replace YOURDOMAIN with your domain

  5. Start:

    ./start.sh
    

Structure

<name>_stellars_jupyterhub_ds/
  Makefile                      # Deployment commands
  compose_override.yml          # Local Traefik + JupyterHub config
  start.sh                      # Pull latest + start services
  stop.sh                       # Stop services
  generate-certs.sh             # Certificate generation script
  certs/
    tls.yml                     # Traefik TLS configuration
    _.yourdomain.example.com/   # Generated wildcard cert
      cert.pem                  # Certificate (import to browser)
      key.pem                   # Private key
  stellars-jupyterhub-ds/       # Cloned repository

Configuration

Edit compose_override.yml to customize:

  • Domain name (replace YOURDOMAIN placeholder)
  • Ports (default: 80/443)
  • Network name
  • Additional services

Access

After deployment:

Import certs/_.<domain>/cert.pem to browser for trusted HTTPS.

Commands

./start.sh    # Pull latest + start services
./stop.sh     # Stop all services
make logs     # Follow JupyterHub logs
make status   # Show container status
make pull     # Pull latest from upstream