Releases: GothenburgBitFactory/taskchampion-sync-server
v0.7.0
What's Changed
- Postgres support and additional server options to disable automatic creation of clients
- New documentation for integrating with the sync server
- Fixes to docker images
Breaking Changes
Running the Docker image for this server without specifying DATA_DIR
in releases before this one defaulted to storing the server data in
/var/lib/taskchampion-sync-server
. However, the Dockerfile only
specifies that the subdirectory /var/lib/taskchampion-sync-server/data
is a VOLUME. This change fixes the default to match the VOLUME, putting
the server data on an ephemeral volume or, if a --volume $NAME:/var/lib/taskchampion-sync-server/data
argument is provided to
docker run
, in a named volume.
Before this release, with default settings the server data is stored in
the container's ephemeral writeable layer. When the container is killed,
the data is lost. This issue does not affect deployments with docker compose
, as the compose configuration specifies a correct DATA_DIR
.
You can determine if your deployment is affected as follows. First,
determine the ID of the running server container, $CONTAINER
. Examine
the volumes for that container:
$ docker container inspect $CONTAINER | jq '.[0].Config.Volumes'
{
"/var/lib/task-champion-sync-server/data": {}
}
Next, find the server data, in a .sqlite3
file:
$ docker exec $CONTAINER find /var/lib/taskchampion-sync-server
/var/lib/taskchampion-sync-server
/var/lib/taskchampion-sync-server/data
/var/lib/taskchampion-sync-server/taskchampion-sync-server.sqlite3
If the data is not in a directory mounted as a volume, then it is
ephemeral. To copy the data out of the container:
docker cp $CONTAINER:/var/lib/taskchampion-sync-server/taskchampion-sync-server.sqlite3 /tmp
You may then upgrade the image and use docker cp
to copy the data back
to the correct location, /var/lib/taskchampion-sync-server/data
.
Note that, as long as all replicas are fully synced, the TaskChampion
sync protocol is resilient to loss of server data, so even if the server
data has been lost, task sync
may continue to work.
New Contributors
Full Changelog: v0.6.1...v0.7.0
v0.6.1
What's Changed
The docker-compose invocation now takes TASKCHAMPION_SYNC_SERVER_CLIENT_ID
to specify the client ID allowlist. The dockerfile also allows configuration of the DATA_DIR, CLIENT_ID, and LISTEN address.
- Use DATA_DIR and taskchampion username in entrypoint by @djmitche in #99
- add homepage / repository to published crates by @djmitche in #100
- Allow specifying client ID when running docker-compose by @djmitche in #101
Full Changelog: v0.6.0...v0.6.1
v0.6.0
What's Changed
The two highest-profile changes are accepting configuration params by env vars (fixing #73) and updating the docker-compose configuration to be simpler and use a uid different from 100 (fixing #87).
In detail:
- Improve error handling in the inmemory storage implementation. by @djmitche in #79
- Customize Listen Address by @mroethke in #81
- Use version-specific references for docker-compose by @djmitche in #85
- Allow specifying configuration params in env vars by @djmitche in #83
- Fix and test for clap errors by @djmitche in #92
- Add an MSRV by @djmitche in #89
- feat(docker): simplify docker compose for end users by @adamanteye in #96
New Contributors
- @mroethke made their first contribution in #81
- @adamanteye made their first contribution in #96
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
This is the first formal release of the Taskchampion sync server.
New Contributors
- @chromy made their first contribution in #15
- @ogarcia made their first contribution in #7
- @dependabot made their first contribution in #20
- @Necior made their first contribution in #28
- @martiege made their first contribution in #40
- @djmitche made their first contribution in #42
Full Changelog: https://github.com/GothenburgBitFactory/taskchampion-sync-server/commits/v0.5.0