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.1

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.1
File Size Uploaded
ign8saas-0.1.1.tar.gz 9.7 kB Details

Built distribution (wheel)

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

Total release size: 21.8 kB

Release files / ign8saas-0.1.1.tar.gz

Download URL ign8saas-0.1.1.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2212e25a791d8818c1094c052d0c6eef557a9428de49f5c91d1dd4c04e85ef3d
BLAKE2b-256 checksum
How to use checksums
3a629b814980c35c5910ac0201d72f2867e737629ca759a3f1f4f3a6a2fc66b5
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.1-py3-none-any.whl

Download URL ign8saas-0.1.1-py3-none-any.whl
Size 12.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d3fec98f89f5a14b681f3b53728ff09a52c3379e84665c33d21a01758b096a06
BLAKE2b-256 checksum
How to use checksums
139f10ec2344899694944574a09d5d5ad1ab990661be41bcd17716ff7ddd898b
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

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1 This release

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