← ClaudeAtlas

deploying-to-turboopslisted

Takes a lenne.tech fullstack monorepo live on TurboOps (turbo-ops.de) via GitLab CI/CD. Covers the deploy contract (.turboops.json, .gitlab-ci.yml, docker-compose.yml, image drift), `lt deployment create`, CI/CD variables, multi-service stages via `turbo deploy --compose`, DNS-before-Let's-Encrypt, and the swarm MongoDB URI. Activates on "TurboOps", "turbo deploy", "live gehen", "deployen", and on symptoms like "not found in registry" or "only app rolled out". NOT for local dev orchestration (use using-lt-cli). NOT for reproducing CI locally (use validating-ci-pipelines-locally). NOT for authoring Docker/CI configs from scratch (use the devops agent).
lenneTech/claude-code · ★ 0 · DevOps & Infrastructure · score 72
Install: claude install-skill lenneTech/claude-code
# Deploying an lt Fullstack Project to TurboOps This skill is the **single source of truth** for taking a lenne.tech fullstack monorepo (`projects/api` + `projects/app`, created by `lt fullstack init`) from local development to a live deployment on **TurboOps** (`turbo-ops.de`) through GitLab CI/CD. The CI/CD path itself is turnkey — the starters ship a working `.gitlab-ci.yml`, `docker-compose.yml`, and build-drift wiring. The **one** thing that reliably breaks a fullstack rollout is whether `turbo deploy` actually **uploads the `docker-compose.yml`**. If it doesn't, TurboOps has no service list for the stage, falls back to a synthesised single-service deploy with a wrong image reference, and the rollout comes up red (`only app rolled out` / `not found in registry`). The fix is one flag on the CI deploy command — no web UI required. Read the [Root Cause + Fix](#root-cause--fix-uploading-the-compose-is-what-makes-a-stage-multi-service) section before you touch a stage — it is the reason this skill exists. > Use placeholders throughout: `<slug>` = TurboOps project slug (matches the > repo's `package.json` name / `lt dev` slug), `<stack>` = the deployed swarm > stack name (`<slug>-<stageSlug>`, e.g. `<slug>-production`), `<db>` = the > Mongo database name. ## When to Use This Skill | Situation | Use this skill? | |-----------|-----------------| | First-time go-live of an lt fullstack project on TurboOps | **Yes** | | Adding a `dev` or `production` stage to an existing Turb