Installation
Choosing a method
The ways to run Relic, from one binary on one machine to a Helm release on Kubernetes.
Methods
| Method | Use | Database and storage |
|---|---|---|
| Single binary | One machine, set up with relic server setup. | SQLite and a local directory. |
| Docker | One container, or a server and a worker on your PostgreSQL and S3. Compose is for development and evaluation. | SQLite and a volume, or PostgreSQL and S3. |
| Kubernetes | Production: several server replicas, failover, backups. | CloudNativePG and SeaweedFS by default, or your own. |
| Cloudflare | One container behind a Cloudflare Worker. | Your PostgreSQL and R2. |
Start with the single binary. Move to PostgreSQL when one machine is not enough (Moving to PostgreSQL).
For production, use the Helm chart, PostgreSQL with point-in-time recovery, and a replicated S3 store such as SeaweedFS.
Parts
| Part | Notes |
|---|---|
relic server start | Serves the APIs and the web UI over HTTPS (TLS), or HTTP with --no-tls. Stateless: run any number of replicas. |
relic server worker | Runs background jobs. One replica is enough. |
relic server start --worker | Server and worker in one process, for a single node. |
relic server migrate | Applies the database migrations and exits. Needs RELIC_DATABASE_URL only. |
| PostgreSQL or SQLite | All metadata. PostgreSQL for several replicas, SQLite for a single node. |
| Object storage | Content, in two buckets or a local directory (Storage). |
Every part is the same binary (/relic in the image) and reads the same
environment variables.
The server and the worker apply migrations at startup under a lock, so several processes can start at once (on Windows, the SQLite lock does not work).
Relic Scan needs Syft and Grype on the PATH; without them, scanning is off.
Gitleaks and Trivy are optional. The image includes them all.
License texts are in the image under /usr/share/licenses/relic/, and in each
release archive as LICENSE and THIRD_PARTY_NOTICES.
After installing
- Sign in at
https://relic.example.com/asadminwith the password fromRELIC_ADMIN_PASSWORD. - Sign in with the relic CLI.
- Back up the database, the content and
RELIC_ENCRYPTION_KEY: see single node or PostgreSQL and S3.