e453d140b5868f4a62f63d5f1b344a92712d6cfa
All checks were successful
Build and Deploy PunktFri / build-and-deploy (push) Successful in 1m19s
Major improvements: - Add comprehensive meta tags (Open Graph, Twitter Cards, canonical URL) - Implement schema.org structured data (Organization, FAQPage) - Optimize H1 with keywords: "Non-profit registrator for .dk-domæner" - Add robots.txt and sitemap.xml with Flask routes - Improve hero intro with specific pain point (90-150 kr/year) - Enhance DNSSEC description with technical details (DS-records) - Update timeline to May 2026 - Add FAQ comparing PunktFri to commercial providers - CSS styling for H1 subtitle 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
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 |
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.
Description
Languages
HTML
46.1%
CSS
35.6%
Python
11.7%
HCL
4.6%
Dockerfile
1.2%
Other
0.8%