Skip to content

Releases: GothenburgBitFactory/taskchampion-sync-server

v0.7.0

31 Jul 01:28
5a2bd4c
Compare
Choose a tag to compare

What's Changed

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

03 Mar 22:44
a9b9921
Compare
Choose a tag to compare

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

01 Mar 18:23
5c3455a
Compare
Choose a tag to compare

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:

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

15 Dec 23:56
a364791
Compare
Choose a tag to compare

What's Changed

This is the first formal release of the Taskchampion sync server.

New Contributors

Full Changelog: https://github.com/GothenburgBitFactory/taskchampion-sync-server/commits/v0.5.0