Skip to main content

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

  1. Checks prerequisites — verifies Docker 24+ and Docker Compose v2.20+ are installed
  2. Authenticates with GitLab Container Registry — prompts for your registry username and token (provided with your license purchase)
  3. Prompts for configuration — collects the following:
PromptRequiredDescription
REGISTRY_USERNAMEYesGitLab registry username (user/deploy token username)
REGISTRY_TOKENYesGitLab registry token/password
LICENSE_KEYYesYour Strata license key (JWT issued for your organization)
DB_HOSTYesPostgreSQL hostname or IP address
DB_PORTYesPostgreSQL port (default: 5432)
DB_USERNAMEYesPostgreSQL username
DB_PASSWORDYesPostgreSQL password
PORTNoHost port for the web UI (default: 3000)
  1. Writes configuration — creates docker-compose.yml and .env in the install directory
  2. Pulls and starts — pulls the Strata Docker image and starts the containers
  3. Health check — waits for the application to pass the /up health 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:

ServiceRole
webHTTP (Thruster + Puma). Runs database migrations on boot.
jobBackground 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, or DB_PASSWORD in .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.