forked from github-mirrorer/taskchampion-sync-server
Finish building Postgres support (#133)
This includes: - Building a Docker image for Postgres as well as SQLite - Fuller instructions for usage of the package, including the Postgres builds. A few related things changed here: - `.env` is not used anymore -- the defaults in the Dockerfiles are sufficient - The Rust version in the Dockerfiles is increased to match the MSRV, and with it the Alpine version bumped to one built with that Rust version. - Cargo dependencies on native-tls and openssl updated to include only the `vendored` feature, so as not to require a system openssl installation. - Two GitHub jobs are set up, to build the two different Docker images - The documentation incorrectly suggested using `DELETE .. CASCADE` to delete clients. This syntax does not exist, as the cascading delete is configured in the schema.
This commit is contained in:
committed by
GitHub
parent
820aaf363c
commit
ab6df362bf
@ -1,11 +1,30 @@
|
||||
# Introduction
|
||||
|
||||
Taskchampion Sync-Server is an implementation of the TaskChampion [sync
|
||||
Taskchampion-sync-server is an implementation of the TaskChampion [sync
|
||||
protocol][sync-protocol] server. It supports synchronizing Taskwarrior tasks
|
||||
between multiple systems.
|
||||
|
||||
[sync-protocol]: https://gothenburgbitfactory.org/taskchampion/sync.html
|
||||
|
||||
The project provides both pre-built images for common use-cases (see
|
||||
[usage](./usage.md)) and Rust libraries that can be used to build more
|
||||
sophisticated applications ([integration](./integration.md)).
|
||||
|
||||
It also serves as a reference implementation: where the
|
||||
[specification][sync-protocol] is ambiguous, this implementation's
|
||||
interpretation is favored in resolving the ambiguity. Other implementations of
|
||||
the protocol should interoperate with this implementation.
|
||||
|
||||
## Sync Overview
|
||||
|
||||
The server identifies each user with a client ID. For example, when
|
||||
syncing Taskwarrior tasks between a desktop computer and a laptop, both systems
|
||||
would use the same client ID to indicate that they share the same user's task data.
|
||||
|
||||
Task data is encrypted, and the server does not have access to the encryption
|
||||
secret. The server sees only encrypted data and cannot read or modify tasks in
|
||||
any way.
|
||||
|
||||
To perform a sync, a replica first downloads and decrypts any changes that have
|
||||
been sent to the server since its last sync. It then gathers any local changes,
|
||||
encrypts them, and uploads them to the server.
|
||||
|
||||
[sync-protocol]: https://gothenburgbitfactory.org/taskchampion/sync.html
|
||||
|
||||
Reference in New Issue
Block a user