2.8 KiB
Releases and container deployment
The public Gitea repository is hosted at https://git.garvis.dev/dmg/minecraft-account-manager. Public release assets, including the Velocity plugin JAR, can be downloaded without repository authentication.
Semantic versioning
Releases are calculated from conventional commits on main:
fixcreates a patch release.featcreates a minor release.BREAKING CHANGEor a breaking!creates a major release.chore(deps)creates a patch release.- Other documentation, test, CI, and maintenance commits do not release by default.
Release tags use vMAJOR.MINOR.PATCH. With no existing tags, the first release is v1.0.0. The Git tag is the authoritative platform version.
Required repository secrets
Configure these under Repository settings → Actions → Secrets before the first push:
| Secret | Purpose |
|---|---|
GITEA_TOKEN |
Checkout authentication, semantic-version tag publication, and Gitea release/asset creation. Use a token with write access to this repository. |
REGISTRY_USERNAME |
Gitea container-registry username, normally dmg. |
CONTAINER_REGISTRY_TOKEN |
Token used by Docker to publish packages for the dmg owner. |
Never commit these values or place them in image build arguments.
Published artifacts
Each release creates:
- Gitea release asset
minecraft-account-manager-velocity-VERSION.jar git.garvis.dev/dmg/minecraft-account-manager:VERSIONgit.garvis.dev/dmg/minecraft-account-manager:latestgit.garvis.dev/dmg/minecraft-account-manager-migrate:VERSIONgit.garvis.dev/dmg/minecraft-account-manager-migrate:latest
Use immutable version tags for deployments. latest is a convenience pointer to the newest release.
Database migration
Run the migration image for the same version before starting or replacing the web container:
docker run --rm \
-e DATABASE_URL='postgresql://user:password@postgres:5432/minecraft_accounts' \
git.garvis.dev/dmg/minecraft-account-manager-migrate:1.0.0
The image runs drizzle-kit migrate against the versioned SQL files. It never runs drizzle push. Back up production PostgreSQL and test migrations against a representative staging database before deployment.
Web runtime
The web image contains the Next.js standalone server and runs as an unprivileged user:
docker run --rm -p 3000:3000 \
--env-file /path/to/minecraft-account-manager.env \
git.garvis.dev/dmg/minecraft-account-manager:1.0.0
Provide all deployment settings described by .env.example. Only set TRUST_PROXY=true behind a proxy that overwrites forwarding headers.
Velocity JAR
Download the JAR from the matching public Gitea release, copy it to Velocity's plugins/ directory, and retain the existing plugins/minecraft-account-manager/config.properties during upgrades.