Repo-only prep to align MokoGIT with the .vault single-source-of-truth structure and the
MokoOrgStandards xx.xx.xx version scheme. No server/.vault changes; relocation coordinated later.
Versioning (replaces leaked Gitea 1.24.0+dev-N-ghash):
- VERSION = 01.00.00 (Makefile STORED_VERSION uses it verbatim on branch builds -> strips the
git-describe Gitea base; tag builds use the xx.xx.xx tag name).
- VERSIONING.md documents the scheme + how the binary/image version resolves.
- Default the upstream update-checker OFF (modules/setting/setting.go) so the fork never compares
AppVer against Gitea's release feed.
Staged git-stack compose (target .vault/stacks/git/{prod,rc,dev}):
- deploy/git/{prod,rc,dev}/ each: docker-compose.yml (image mokoconsulting/mokogit per tier tag env
MOKOGIT[_RC|_DEV]_TAG, containers mokogit/-rc/-dev, /opt/mokogit/{prod,rc,dev} data, host-MySQL
db mokogit[_rc|_dev], /api/healthz healthcheck), VERSION (01.00.00), .env.example.
- deploy/git/VERSION (per-stack) + README.md (ownership split, reconcile-before-drop, restructure paused).
- Every host/secret value is ${VAR}; modeled on documented live config, marked RECONCILE (diff vs
the live /opt/mokogitea/docker-compose.yml before dropping into .vault).
Secrets externalized:
- .gitignore now ignores real .env / *.env but keeps *.env.example. No real tokens committed.
Verified: go build ./modules/setting/ ok; .env.example tracked, real .env ignored.
MokoGIT git stack (staged for .vault)
This directory is the staged server compose for the MokoGIT git service, laid out to match the
target .vault/stacks/git/{prod,rc,dev}/ structure so it can be dropped into .vault when the
restructure resumes.
Ownership split
- This repo (the Gitea fork) builds + pushes the image (
mokoconsulting/mokogit, tiersmokogit/-rc/-dev) via its own CI. .vault(MokoConsulting/.vault,/opt/.vaulton the Beelink) owns the server compose + config that RUNS those containers..vaultis the single source of truth for the box.
Layout
deploy/git/
VERSION # per-stack version (xx.xx.xx)
prod/ { docker-compose.yml, VERSION, .env.example } -> container mokogit, /opt/mokogit/prod, db mokogit
rc/ { docker-compose.yml, VERSION, .env.example } -> container mokogit-rc, /opt/mokogit/rc, db mokogit_rc
dev/ { docker-compose.yml, VERSION, .env.example } -> container mokogit-dev, /opt/mokogit/dev, db mokogit_dev
Versioning follows MokoOrgStandards xx.xx.xx (see repo-root VERSIONING.md). Each tier and the
stack carry a VERSION file.
⚠️ Not yet live — reconcile first
These composes are modeled on the documented live config, not copied from the running box, so
they are NOT guaranteed byte-accurate. Before dropping into .vault:
- DIFF against the live
/opt/mokogitea/docker-compose.yml(run withdocker compose -p gitea-dev). Reconcile every line taggedRECONCILEin the compose: exact volume/conf layout (live app.ini is at${GIT_DATA_DIR}/conf/app.ini), host ports, the DB host reachability (DB is host MySQL; app DB user ismokogitea), the docker network name, and anyact_runner/depends_onwiring (note:depends_onuses the prod service key — mismatches caused a past outage). - Secrets stay external — every host/secret value is
${VAR}; real values go in a gitignored.envor Gitea Actions secrets, never committed..env.examplefiles carry only placeholders.
Do NOT relocate yet
The .vault restructure is PAUSED on server drift (partly from the mokogitea→mokogit rebrand
leaving the box tree dirty) and an open critical secrets-in-git issue in .vault history. Moving
the git compose onto the box now risks breaking the --ff-only pull. Relocation happens when the
restructure resumes — coordinate first. Until then git keeps running from /opt/mokogitea +
/opt/gitea-dev (the old locations).