|
|
2 недель назад | |
|---|---|---|
| cmd | 2 недель назад | |
| frontend | 2 недель назад | |
| internal | 2 недель назад | |
| sql | 2 недель назад | |
| .dockerignore | 2 недель назад | |
| .gitignore | 2 недель назад | |
| Dockerfile | 2 недель назад | |
| README.md | 2 недель назад | |
| go.mod | 2 недель назад | |
| go.sum | 2 недель назад | |
| justfile | 2 недель назад | |
| mise.toml | 2 недель назад | |
| sqlc.yaml | 2 недель назад |
Dynamic DNS updater for Cloudflare. Keeps your DNS records pointing at your current public IP, even when it changes.
Goflare runs a configurable cron job that periodically fetches your public IP from multiple providers (with fallback) and compares it against the DNS records you've configured. When a change is detected, it updates the records via the Cloudflare REST API.
You manage your Cloudflare zones and DNS records through a web UI. Records can be marked as static to exclude them from automatic updates. The cron schedule is configurable at runtime through the settings page.
docker build -t goflare .
docker run -p 8080:8080 -v ./data:/app/data -e GOFLARE_SESSION_SECRET=changeme goflare
Mount /app/data to persist the SQLite database across container restarts.
| Variable | Default | Description |
|---|---|---|
GOFLARE_PORT |
:8080 |
Server listen address |
GOFLARE_DB_PATH |
/app/data/goflare.db |
SQLite database path |
GOFLARE_SESSION_SECRET |
(random) | Set for sessions to survive restarts |
GOFLARE_FRONTEND_DIR |
/app/frontend |
Path to built frontend assets |
services:
goflare:
build: .
ports:
- "8080:8080"
volumes:
- ./data:/app/data
environment:
- GOFLARE_SESSION_SECRET=changeme