Skip to content

Architecture

Overview

The Registry Platform centralizes all package registries under *.registry.hochguertel.work.

                    ┌─────────────────┐
                    │    Traefik       │
                    │  (reverse proxy) │
                    └────────┬────────┘

              ┌──────────────┼──────────────┐
              │              │              │
    ┌─────────▼─────────┐   │   ┌──────────▼──────────┐
    │     Authelia       │   │   │   Docs Site          │
    │  (SSO / Forward)   │   │   │   (VitePress)        │
    └───────────────────┘   │   └──────────────────────┘

         ┌───────────────────┼───────────────────┐
         │                   │                   │
   ┌─────▼─────┐     ┌──────▼──────┐     ┌──────▼──────┐
   │ npm        │     │ Docker      │     │ Maven       │
   │ (Verdaccio)│     │ Registry v3 │     │ (Reposilite)│
   └───────────┘     │ + Token Srv │     └─────────────┘
                      │ + UI        │           │
                      └─────────────┘     ┌─────▼─────┐
                                          │ PyPI      │
                                          │ (DevPI)   │
                                          └───────────┘

Directory Structure

/opt/services/registries/
├── docker-compose.yml       # Root (includes + networks)
├── compose/
│   ├── npm.yml              # Verdaccio service
│   ├── docker.yml           # Docker Registry + Token Server + UI
│   ├── maven.yml            # Reposilite service
│   └── pypi.yml             # DevPI service
├── env/                     # Container env files
├── npm/                     # Verdaccio config & Dockerfile
├── docker/                  # Docker Registry config, token-server, scripts
├── pypi/                    # DevPI Dockerfile & entrypoint
├── data/                    # Persistent data (gitignored)
├── tests/                   # API & E2E tests
├── docs-site/               # VitePress documentation
├── scripts/                 # Init, health check scripts
└── Taskfile.yml             # Central task orchestration

Network

All services connect to the external public-hochguertel.work Podman network, which is shared with Traefik and other services.

Domain Routing

DomainServicePort
npm.registry.hochguertel.workVerdaccio4873
docker.registry.hochguertel.workDocker Registry v35000
docker-ui.registry.hochguertel.workJoxit Docker UI80
maven.registry.hochguertel.workReposilite8080
pypi.registry.hochguertel.workDevPI3141
docs.registry.hochguertel.workVitePress docs80

hochguertel.work Registry Platform