Releases: heyvaldemar/jediacademy-server-docker-compose
Releases · heyvaldemar/jediacademy-server-docker-compose
Release list
v1.2.0
Added
JKA_SERVER_TIMEZONE: the game gets the household clock too. Every timestamp this server writes — a ban, a join, the crash it leaves behind — is read next to a log line from somewhere else, and two clocks turn that into arithmetic. Six of this fleet's eleven game templates already carried the setting and this one did not. It defaults to UTC, which is now a choice rather than an accident, and the image carries the whole tz database so any zone name works. Measured against the pinned image: unset givesUTC, set gives the zone asked for.
Upgrading
git pull (or ./update.sh), then docker compose up -d. Nothing changes unless you set the new variable: the default is UTC, which is what the container did before.
Full history in CHANGELOG.md.
v1.1.0
Added
update.sh: move between release tags on purpose. It updates to the latest release (a combination this repository's CI has booted and smoke-tested), refuses to cross a major version unattended, refuses to run over local changes, and names any new required variable before anything has moved.--dry-runsays what would happen.
Upgrading
git pull (or ./update.sh). Nothing running changes: this release adds or extends the update script and touches no image pin.
Full history in CHANGELOG.md.
v1.0.0
Added
- A Jedi Academy FFA server with JA+, image pinned by digest as an
interpolation default, sogit pulldelivers the build this repository has
tested and.envoverrides survive it. - The rcon password rendered into the config at start, never kept in it.
idTech3 reads it fromserver.cfgand nowhere else, and that file is
tracked; the shipped copy holds a placeholder that the compose command fills
from.envon the way in. CI checks that the placeholder is still there and
that the render works. The config this descends from once carried a real
password, and it left the machine before anyone noticed. - A health check with no
pgrep -ffallback. That branch could only ever
succeed, because the shell running the check carries the pattern in its own
command line — measured:pgrep -f ZZZ_no_such_processexits 0 in this
container. One exact match onlinuxjampdedreplaces it, and
tests/e2e-healthcheck.shproves thepgrep -fform stays green with the
game dead. - The game files supplied by their owner.
assets0-3.pk3go in
assets/; without them the image's start script exits by design, and CI
starts the real image with an empty directory to prove it refuses. - Measured limits. Resident 51 MB; the 2.4 GB once recorded as a peak was
page cache, which a limit reclaims rather than kills. - Deployment Verification CI: shell and workflow linting, a Trivy scan of
the pinned image, a daily freshness check on the pin, the health-check
suite, the refusal-without-assets proof and the render proof.
Upgrading
First release: nothing to upgrade from. git clone, copy .env.example to .env, create the external volume where the compose file says so, and docker compose up -d.
Full history in CHANGELOG.md.