a5ce46f2a3bc173d8bc048380d41a35b471eb90e
cc-ci/testme cc-ci: success
Docker Swarm configs are IMMUTABLE — only labels can be updated. The config is
named ${STACK_NAME}_app_ini_${APP_INI_VERSION}, so when app.ini.tmpl's rendered
content changes the version suffix MUST be bumped, otherwise abra tries to mutate
the existing object and the deploy aborts:
FATA failed to update config <stack>_app_ini_v22: Error response from daemon:
rpc error: code = InvalidArgument desc = only updates to Labels are allowed
'BREAKING CHANGE: remove forgejo' (6a0339d) edited app.ini.tmpl —
-{{ if or (eq (env "FORGE") "forgejo") (eq (env "GITEA_LFS_START_SERVER") "true") }}
+{{ if (eq (env "GITEA_LFS_START_SERVER") "true") }}
— but left APP_INI_VERSION at v22 (unchanged since the LFS commit 357926f), and
3.6.2+1.27.1-rootless shipped that way. Every existing deployment upgrading ACROSS
the forgejo removal therefore fails at 'initialising deployment'; reproduced on a
live 3.6.1+1.26.2-rootless -> 3.6.2+1.27.1-rootless upgrade.
Bumping to v23 makes Swarm create a NEW config object instead of mutating v22. The
orphaned v22 object can be pruned after the rollout. Only app.ini.tmpl changed, so
DOCKER_SETUP_SH_VERSION and PG_BACKUP_VERSION stay put.
Note: cc-ci's upgrade tier did not catch this because it resolved the upgrade base
to main-tip, which ALREADY contains the forgejo removal — base and head then render
identical app.ini and no config update is attempted. Real deployments upgrade from
the last published RELEASE (3.6.1+1.26.2), which is where the break appears.
Gitea
- Category: Development
- Status: 5
- Image:
gitea/gitea, 4, upstream - Healthcheck: Yes
- Backups: Yes
- Email: Yes
- Tests: 2
- SSO: 3 (OAuth)
Basic usage
- Set up Docker Swarm and
abra - Deploy
coop-cloud/traefik abra app new gitea --secrets(optionally with--passif you'd like to save secrets inpass)abra app config YOURAPPDOMAIN- be sure to change$DOMAINto something that resolves to your Docker swarm boxabra app deploy YOURAPPDOMAIN
Create first user
Run
abra app run YOURAPPNAME app -- gitea -c /etc/gitea/app.ini admin user create --username USERNAME --admin --random-password --email EMAIL
See the Gitea command-line documentation for more options. Make sure not to forget the -c /etc/gitea/app.ini.
Enable SSH
You most certainly want to be able to access your repository over SSH. To do so, make sure you uncomment the right lines in the configuration for traefik.
abra app config YOURTRAEFIKAPP
There uncomment or add these lines:
GITEA_SSH_ENABLED=1
COMPOSE_FILE="compose.yml:compose.gitea.yml"
Then redeploy traefik:
abra app undeploy YOURTRAEFIKAPP
abra app deploy YOURTRAEFIKAPP
You might need to wait a bit. To check if it worked, you can run
telnet my.gitea.example.com 2222
Once you have added a public SSH key, you can check that you can connect to your gitea server with
ssh -T -p 2222 git@my.gitea.example.com
Note that gitea should be configured to listen to port 2222, i.e. GITEA_SSH_PORT=2222 in the gitea config.
Languages
Go Template
79.3%
Shell
20.7%