Advanced

Architecture

How GitLab, CI/CD pipelines, GitOps, and your servers fit together on the Application Platform.

On this page

This page explains what the platform runs behind the scenes for your project – useful when you want to understand where your code lives, who builds it, and how it reaches the server.

Overview

flowchart TB
  user["You"] -->|"configure project"| platform["Application Platform<br/>(app.application-platform...)"]
  platform -->|"generates repositories"| gitlab["GitLab<br/>(gitlab.doppelt-digital.com)"]
  user -->|"git push"| gitlab
  gitlab -->|"CI/CD pipeline builds"| image["Docker image"]
  image -->|"write image tag"| gitops["gitops-configuration"]
  gitops -->|"Ansible deployment"| server["Dev / prod server"]
  gitlab -.->|"error reports"| sentry["Sentry<br/>error tracking"]

The building blocks

Building block Role
Application Platform UI for creating organizations, projects, servers, domains, workspaces, and credentials.
GitLab Self-hosted GitLab at gitlab.doppelt-digital.com – all of your project’s repositories live here, and the pipelines run here.
Code repositories App, homepage, and backend repositories with ready-made CI/CD pipelines, started via the ap CLI.
gitops-configuration Describes per environment (dev/prod) which versions run with which configuration. Deploys to your servers via Ansible.
local-configuration Workspace, IDE, and AI agent configuration for a consistent developer setup.
Servers Your own Linux server or managed hosting – the platform sets it up automatically (Docker, reverse proxy, deploy access).
Workspace VMs Optional, fully prepared development VMs – see Workspaces.
Sentry Error tracking, preconfigured for every generated project.

From code to server

The path of a change is always the same:

  1. You push to a branch; the pipeline builds and versions a Docker image.
  2. After merging into main, the pipeline writes the new image tag into the gitops-configuration repository.
  3. The GitOps repository rolls the state out to the target environment via Ansible – dev automatically, prod with one click.

The details with all job names are described in Git workflow & deployment.

Repository structure of a project

orgs/<organization>/<project>/
├── backend/                  # e.g. NestJS API with Docker setup
├── <app>/                    # e.g. Flutter app (multiple possible)
├── <homepage>/               # e.g. Hugo site
├── gitops-configuration/     # Deployment configuration dev/prod
├── local-configuration/      # Workspace and IDE setup
└── gitlab-profile/           # Project documentation

Which repositories exist depends on the components you chose when creating the project.

See also