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

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.2
File Size Uploaded
ign8saas-0.1.2.tar.gz 10.3 kB Details

Built distribution (wheel)

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

Total release size: 23.0 kB

Release files / ign8saas-0.1.2.tar.gz

Download URL ign8saas-0.1.2.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
664409cfbff46da8490740985a00c68ad9a36f3fb5de29e5bc5bcee12fa8aaa2
BLAKE2b-256 checksum
How to use checksums
2d49503493d174b3b6c6cb9eb43fb6ea2489bc09d51e5ac2d703137c256df6d9
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.2-py3-none-any.whl

Download URL ign8saas-0.1.2-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7c577cedbee596e706878c3f73ffebe24b36cb782eb1d11484e460ab5452877
BLAKE2b-256 checksum
How to use checksums
e9d6be90351784210dff6df88424819675d645ea972ef6bbe6ccd2482670ac06
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

This release

0.1.2 This release

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