Docker Deployment
Run Rustume from ghcr.io/lgtm-hq/rustume, build from source, verify signatures, and use Docker Compose.
Rustume ships as a single Docker container that serves both the SolidJS resume builder and the Rust API.
Prerequisites
- Docker with BuildKit enabled (Docker Desktop or Docker Engine 20.10+)
- For building from source: network access to GitHub (Rust crates, bun release, wasm-pack)
Native development (without Docker) requires
Rust, wasm-pack,
bun, and the wasm32-unknown-unknown target — see Development
setup.
Option A: Pull from GHCR
Published release images are pushed when a v*.*.* tag is created. Use latest or a
semver tag:
docker pull ghcr.io/lgtm-hq/rustume:latest
docker run -p 3000:3000 ghcr.io/lgtm-hq/rustume:latest
Open http://localhost:3000. The same process also exposes:
GET /health— container health checks/swagger-ui/— API documentation/api-docs/openapi.json— OpenAPI document
If docker pull returns manifest unknown, the release image may not be published yet. Use Option
B or wait for the Docker workflow on the tag.
Option B: Build from source
git clone https://github.com/lgtm-hq/Rustume.git
cd Rustume
docker build -t rustume -f docker/Dockerfile .
docker run -p 3000:3000 rustume
On Apple Silicon, build for your native platform if you hit Rosetta errors:
docker build --platform linux/arm64 -t rustume -f docker/Dockerfile .
Verify installation
curl -sf http://localhost:3000/health
Docker Compose
The root docker-compose.yml supports both pull and local build:
docker compose up # Pull ghcr.io/lgtm-hq/rustume:latest
docker compose up --build # Build from docker/Dockerfile
For Rustume Cloud local development, use the cloud profile (requires PostgreSQL env vars):
cp .env.example .env
docker compose --profile cloud up
Image tags
| Tag | When published | Use for |
|---|---|---|
latest, 0.16.0, 0.16, 0 | v*.*.* git tag push | Production self-hosting |
main, sha-<commit> | main branch push | Bleeding-edge / CI |
build-<run>-<arch> | CI staging only | Internal; not for pulls |
Supply chain verification
Release images are signed with Sigstore keyless
signing. See Supply
chain for cosign verify commands and
SBOM attestation checks.