Files
PunktFri/README.md
Henrik Jess Nielsen 347bbb748b
All checks were successful
Build and Deploy PunktFri / build-and-deploy (push) Successful in 1m20s
Update copy to post-July-2026 reality and notify on signups
- 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>
2026-09-19 06:52:45 +02:00

51 lines
1.5 KiB
Markdown

# PunktFri.dk
Flask landing page for PunktFri — a Danish non-profit registrar initiative for self-hosters.
## Setup
```bash
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.