Quick Start
The minimal OpenFlare setup contains one Server and at least one Agent. Server owns the web console, release versions, and node state. Agent runs on proxy nodes and applies OpenResty configuration.
Run Server
Docker Compose with PostgreSQL is recommended:
yaml
services:
postgres:
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_DB: openflare
POSTGRES_USER: openflare
POSTGRES_PASSWORD: replace-with-strong-password
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U openflare -d openflare"]
interval: 10s
timeout: 5s
retries: 5
openflare:
image: ghcr.io/rain-kl/openflare:latest
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
ports:
- "3000:3000"
environment:
SESSION_SECRET: replace-with-random-string
DSN: postgres://openflare:replace-with-strong-password@postgres:5432/openflare?sslmode=disable
GIN_MODE: release
LOG_LEVEL: info
volumes:
postgres-data:bash
docker compose up -dOpen http://localhost:3000.
Default credentials:
| Username | Password |
|---|---|
root | 123456 |
Change the default password immediately after first login.
Connect a Node
Prepare a discovery_token or node-specific agent_token in the console, then run the install script on the node.
bash
curl -fsSL https://raw.githubusercontent.com/Rain-kl/OpenFlare/main/scripts/install-agent.sh | bash -s -- \
--server-url http://your-server:3000 \
--agent-token YOUR_AGENT_TOKENThe script installs Agent under /opt/openflare-agent, creates openflare-agent.service, and uses Docker OpenResty unless a local openresty_path is configured.
Publish the First Configuration
- Create a site configuration with a domain and origin URL.
- Preview the release or check the diff before publishing.
- Activate the new version.
- Wait for Agent to discover and apply it through heartbeat.
Version numbers use YYYYMMDD-NNN. Historical versions are immutable; rollback reactivates an old version.