source control workload baseline

Gitea source-control baseline

Keep repositories, database, application data, configuration, and external object storage consistent through migration-aware update and clone/push recovery checks.

Runtime boundary

Know which services participate before mapping their state.

  1. 01

    Gitea application service with a documented database choice

  2. 02

    Persistent application data and repository storage, plus any declared external object store

  3. 03

    HTTPS web entry point with an optional SSH clone and push path

Persistent-state map

Every state boundary needs a Compose address, a backup rule, and a restore proof.

State 01 · database

Users, issues, pull requests, settings, and repository metadata

Compose evidence
A private database service or explicitly selected SQLite path with a persistent boundary and export method.
Backup boundary
Capture the database while Gitea is stopped so it stays consistent with repositories and application files.
Restore proof
Users, issues, pull requests, permissions, releases, and repository metadata match the recovered repositories.

State 02 · repositories

Git repositories, LFS, packages, attachments, and avatars

Compose evidence
The application data mount and any external object-storage locations are explicitly identified.
Backup boundary
Protect repositories and every enabled data feature at the same stopped-instance point as the database.
Restore proof
A representative repository clones and pushes; LFS, releases, packages, and attachments used by the instance remain accessible.

State 03 · configuration

Application identity, paths, secrets, and public URLs

Compose evidence
The rendered model and application configuration retain database, storage, hostname, SSH, mail, and secret references.
Backup boundary
Retain application configuration and the access path to secrets without copying literal secret values into the runbook.
Restore proof
The restored instance generates correct clone URLs and reaches its database, storage, mail, and authentication dependencies.

Update sequence

Treat an application update as a reversible state transition.

01 · capture

Review and capture

Review breaking changes and deprecated configuration, record the rendered model and image references, and prepare database, configuration, application-data, repository, and external-storage backups.

Complete when

The old version and every recovery input can be identified before the database changes.

02 · quiesce

Stop for consistency

Stop Gitea before the final recovery set so repository writes cannot race the database and file backup.

Complete when

The database, repositories, and application data share one consistent stopped-instance boundary.

03 · apply

Start the new application

Apply the selected image transition and let the documented startup migration complete without deleting the prior recovery set.

Complete when

The application starts, migrations complete, and no deprecated configuration blocks operation.

04 · verify

Exercise Git and web paths

Verify login, repository browse, clone, fetch, push, issues or pull requests, enabled data features, webhooks or actions, and optional SSH.

Complete when

The workflows that make the instance useful pass before the rollback set expires.

Rollback boundary

When an update migrates the database, rollback requires the previous application model plus the matching database, repositories, application data, configuration, and external-storage recovery point; an older image alone cannot reverse the migration.

Recovery acceptance

A restored container is only the start of the test.

PROOF 01

Repository transport

Clone and fetch one representative repository, then push a disposable branch over every transport the team uses.

PROOF 02

Application metadata

Confirm users, teams, permissions, issues, pull requests, releases, and repository settings.

PROOF 03

Extended data

Open representative LFS objects, packages, attachments, avatars, and action artifacts when those features are enabled.

PROOF 04

Integrations and paths

Confirm public URLs, optional SSH, webhooks, runners, mail, and regenerated hooks when paths or installation method changed.

Continue planning

Carry this state and recovery contract into the deployment.

Define the host, exposure, storage, and recovery priority first; then inspect the rendered Compose model and compare every later change against its deployed baseline.

Editorial record

Maintained by Make Your Own Tools to turn “Validate a deployment” into a defined host, state, exposure, and recovery boundary. The references below provide the technical context for this planning path. Its calculation rules and planning assumptions are documented in the methodology, and affected calculations pass regression checks before the review date advances.

Last reviewed
Evidence set
7 primary references
Planning scope
Single-host Docker Compose planning for the gitea source-control baseline, including state inventory, update control, rollback preparation, and restore acceptance.
Next check
Before execution, match the selected application and database release transition against the linked current upstream release instructions.