Quick Install
Fastest path to deploy Strata on a single server. The installer validates prerequisites, authenticates with the container registry, captures configuration, and starts Strata.
Run the Installer
curl -fsSL https://strata.do/server/install.sh | bash
By default, Strata is installed to ./strata in the current directory. Override with:
STRATA_INSTALL_DIR=/opt/strata curl -fsSL https://strata.do/server/install.sh | bash
Download the Environment Template (Optional)
If you want to pre-populate configuration before running the installer, generate .env first:
curl -fsSL https://strata.do/server/env.sh | bash -s -- ./.env
What the Installer Does
- Checks prerequisites — verifies Docker 24+ and Docker Compose v2.20+ are installed
- Authenticates with GitLab Container Registry — prompts for your registry username and token (provided with your license purchase)
- Prompts for configuration — collects the following:
| Prompt | Required | Description |
|---|---|---|
REGISTRY_USERNAME | Yes | GitLab registry username (user/deploy token username) |
REGISTRY_TOKEN | Yes | GitLab registry token/password |
LICENSE_KEY | Yes | Your Strata license key (JWT issued for your organization) |
DB_HOST | Yes | PostgreSQL hostname or IP address |
DB_PORT | Yes | PostgreSQL port (default: 5432) |
DB_USERNAME | Yes | PostgreSQL username |
DB_PASSWORD | Yes | PostgreSQL password |
PORT | No | Host port for the web UI (default: 3000) |
- Writes configuration — creates
docker-compose.ymland.envin the install directory - Pulls and starts — pulls the Strata Docker image and starts the containers
- Health check — waits for the application to pass the
/uphealth check
After Installation
Open http://<your-host-or-ip>:<PORT> (or your load balancer URL) and complete the Setup Wizard to create the first admin account.
View Logs
cd /path/to/strata && docker compose logs -f web job
Stop Strata
cd /path/to/strata && docker compose down
Edit Configuration
nano /path/to/strata/.env
# After editing, restart:
docker compose up -d
Upgrading
Re-run the installer from your Strata install directory:
cd /path/to/strata
curl -fsSL https://strata.do/server/install.sh | bash
The installer detects the existing installation, preserves your .env, pulls the new image, and restarts containers. Migrations run automatically on startup.
Runtime Topology
The installer creates two services from the same Strata image:
| Service | Role |
|---|---|
web | HTTP (Thruster + Puma). Runs database migrations on boot. |
job | Background jobs (bin/jobs). Waits for web to become healthy first. |
Jobs run in the separate job service (production layout). Tune WEB_CONCURRENCY, WEB_THREADS, JOB_CONCURRENCY, JOB_THREADS, and related vars in .env — see Environment Variables.
Troubleshooting
Container exits immediately
Check the logs for database connection errors:
docker compose logs --tail 30 web
Common causes:
- Incorrect
DB_HOST,DB_PORT,DB_USERNAME, orDB_PASSWORDin.env - PostgreSQL not accepting connections from the Docker host
- Firewall blocking the PostgreSQL port
Health check never passes
The /up endpoint returns HTTP 200 when the app is fully booted. On first run, database setup can take 30-60 seconds. Watch the logs:
docker compose logs -f web
You should see messages like:
[Strata] Waiting for PostgreSQL...
[Strata] PostgreSQL is ready.
[Strata] Preparing databases...
[Strata] Databases ready.