Customer Deployment
The deploy/ package is a slim, image-based bundle for installing RedCloud on a customer host without building from source.
What’s in the package
Section titled “What’s in the package”| File | Purpose |
|---|---|
docker-compose.yml | Image-based Compose (pulls ${REDCLOUD_IMAGE}); two services — postgres and redcloud (port 9900), with ENVIRONMENT=production |
.env.example | Customer environment template (license, secrets, image) |
setup.sh | One-time guided setup |
transfer.sh | Push the install to a remote host over SSH |
cicd/ | GitHub Actions and GitLab CI templates |
Option A — Guided setup on the target host
Section titled “Option A — Guided setup on the target host”cd deploy./setup.shsetup.sh checks Docker and Compose, creates the credentials/ and out/ directories, copies .env.example to .env, and auto-generates strong values for HMAC_KEY, ENCRYPTION_KEY, API_KEY, and DB_PASSWORD. It then reminds you to:
- Set your
LICENSE_KEY(formatRC-...) in.env. - Place your cloud credential at
credentials/sa-key.json.
Finally it runs docker compose up -d. Open http://localhost:9900.
Option B — Remote transfer from your machine
Section titled “Option B — Remote transfer from your machine”cd deploy./transfer.sh user@host [/opt/redcloud] [--no-start]transfer.sh rsyncs the source (excluding caches, scans, .env, and credentials), separately copies your .env and credential files, then runs docker compose up -d --build on the target and health-checks http://host:9900/health.
Target requirements: Docker + Compose v2, SSH access, and ports 9900 (and 7700/5432 if you run them locally) free.
Required configuration
Section titled “Required configuration”The customer template requires these before first start:
| Variable | Notes |
|---|---|
LICENSE_KEY | Your RC-... license key |
HMAC_KEY, API_KEY, ENCRYPTION_KEY | Generated by setup.sh, or set manually |
DB_PASSWORD | Strong database password |
REDCLOUD_IMAGE | The image to pull (defaults to the latest published tag) |
See the full Configuration reference for everything else.
Verification
Section titled “Verification”docker compose psshowsredcloudhealthy.GET http://host:9900/healthreturns200.- You can sign in and the license shows valid.