Skip to main content

ign8saas

Ignite a multi-tenant SaaS control plane on Hetzner Cloud. One VPS runs Caddy (TLS termination + wildcard certs via Cloudflare DNS-01), Vaultwarden (Bitwarden-compatible password vault) and wg-portal (WireGuard admin UI) — reachable at three subdomains of your parent zone.

Quickstart

cp .env.example .env    # fill in Hetzner + Cloudflare credentials
ign8saas up             # provision server + DNS + docker stack

What gets provisioned

For IGN8_DOMAIN=traeck.it you get:

Subdomain Purpose
saas.traeck.it landing page ("SaaS control plane — coming soon")
*.vaultwarden.traeck.it Vaultwarden (vanity slug redirect on subdomain)
*.vpn.traeck.it wg-portal (WireGuard admin UI)

Underneath, on a single Hetzner cax11 VPS in fsn1:

  • Docker + Compose plugin (installed via get.docker.com)
  • caddy (ghcr.io/caddybuilds/caddy-cloudflare:latest) — ports 80/443, wildcard certs via DNS-01
  • vaultwarden (vaultwarden/server:latest) — signups disabled, invitations enabled
  • wg-portal (ghcr.io/h44z/wg-portal:latest) — port 51820/udp exposed for WireGuard
  • Hetzner firewall: 22 / 80 / 443 / 51820-udp only

State

Local state lives under .ign8saas/ (gitignored):

  • .ign8saas/keys/ign8saas — SSH private key for server access
  • .ign8saas/state.json — Hetzner IDs, IPv4
  • .ign8saas/vaultwarden-init.json — Vaultwarden admin token + wg-portal admin creds (chmod 600, keep safe)

Status

This scaffold delivers the shared infra only. Per-customer onboarding (add-customer, del-customer) is stubbed — see CLAUDE.md for the design notes and the roadmap.

See CLAUDE.md for architecture details.

Metadata

Release files for ign8saas 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ign8saas 0.1.3
File Size Uploaded
ign8saas-0.1.3.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ign8saas 0.1.3
File Interpreter ABI Platform
ign8saas-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 26.7 kB

Release files / ign8saas-0.1.3.tar.gz

Download URL ign8saas-0.1.3.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
df76c3b453ca71ad30b5f0918530519a517cc9166212b8bc84d165ec6850cf20
BLAKE2b-256 checksum
How to use checksums
351dd7d9b5a71b209d32fee000a5ba5e792e05055fafe37b6e33fcd02f2ed786
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ign8saas-0.1.3-py3-none-any.whl

Download URL ign8saas-0.1.3-py3-none-any.whl
Size 14.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb48dec3f7c4a714979b2378f41c38d17e13d32303c6bc90e12ece98cd5eb6fb
BLAKE2b-256 checksum
How to use checksums
88d16274b5904d9057c5b342603fbdb7702bd2efec8f0d114dd882d4f0a0b1f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

0.1.4

2 release files

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page