All checks were successful
Build and Deploy PunktFri / build-and-deploy (push) Successful in 1m20s
- Rewrite copy from "this will happen" to "this has happened": direct registration closed 1 July 2026, transition ends 30 June 2028 - Fix timeline (30 June 2028, not 1 July), update FAQ + JSON-LD, add FAQ on registering new domains now - Send signup notification mail to henrik@i80.dk via smtp.i80.dk, with credentials from Consul KV - Fix CI health check URL (punktfri.dk) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.5 KiB
1.5 KiB
PunktFri.dk
Flask landing page for PunktFri — a Danish non-profit registrar initiative for self-hosters.
Setup
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python app.py
Visit http://localhost:5000
Environment variables
| Variable | Default | Description |
|---|---|---|
PORT |
5000 |
Port to listen on |
DATABASE |
punktfri.db |
SQLite database path |
LOG_FILE |
signups.log |
Signup log file path |
ADMIN_USER |
admin |
Admin username |
ADMIN_PASS |
punktfri2024 |
Admin password |
NOTIFY_EMAIL |
henrik@i80.dk |
Receives a mail on every signup |
SMTP_HOST |
(empty) | SMTP server; notifications are skipped when unset |
SMTP_PORT |
587 |
SMTP port (STARTTLS) |
SMTP_USER / SMTP_PASS |
(empty) | SMTP login (Consul KV punktfri/smtp_user, punktfri/smtp_pass in Nomad) |
SMTP_FROM |
SMTP_USER |
Sender address (Consul KV punktfri/smtp_from) |
Change ADMIN_USER and ADMIN_PASS before deploying publicly.
Routes
/— Landing page + signup form/tak— Confirmation page after signup/admin— Signup table (HTTP Basic Auth)/health— Health check (returns{"status": "ok"})
Data
Signups are stored in two places:
- SQLite (
punktfri.db) — queryable, used by/admin - Log file (
signups.log) — append-only plaintext log
Both are created automatically on first run.
Admin
Visit http://localhost:5000/admin and enter the credentials above.