Adds some documentation about building project
This commit is contained in:
parent
f367f3806c
commit
39366f1ee6
95
README.md
95
README.md
@ -1,10 +1,97 @@
|
|||||||
TaskChampion Sync-Server
|
TaskChampion Sync-Server
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
TaskChampion is the task database [Taskwarrior](https://github.com/GothenburgBitFactory/taskwarrior) uses to store and sync tasks.
|
TaskChampion is the task database [Taskwarrior][tw] uses to store and sync
|
||||||
This repository implements a sync server against which Taskwarrior and other applications embedding TaskChampion can sync.
|
tasks. This repository implements a sync server against which Taskwarrior
|
||||||
|
and other applications embedding TaskChampion can sync.
|
||||||
|
|
||||||
|
[tw]: https://github.com/GothenburgBitFactory/taskwarrior
|
||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
This repository was spun off from Taskwarrior itself after the 3.0.0 release.
|
This repository was spun off from Taskwarrior itself after the 3.0.0
|
||||||
It is still under development and currently best described as a reference implementation of the Taskchampion sync protocol.
|
release. It is still under development and currently best described as
|
||||||
|
a reference implementation of the Taskchampion sync protocol.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### From binary
|
||||||
|
|
||||||
|
Simply download latest release from [releases page][releases].
|
||||||
|
|
||||||
|
[releases]: https://github.com/GothenburgBitFactory/taskchampion-sync-server/releases
|
||||||
|
|
||||||
|
### As container
|
||||||
|
|
||||||
|
To build the container execute the following commands.
|
||||||
|
```sh
|
||||||
|
source .env
|
||||||
|
docker build \
|
||||||
|
--build-arg RUST_VERSION=${RUST_VERSION} \
|
||||||
|
--build-arg ALPINE_VERSION=${ALPINE_VERSION} \
|
||||||
|
-t taskchampion-sync-server .
|
||||||
|
```
|
||||||
|
|
||||||
|
Now to run it, simply exec.
|
||||||
|
```sh
|
||||||
|
docker run -t -d \
|
||||||
|
--name=taskchampion \
|
||||||
|
-p 8080:8080 \
|
||||||
|
taskchampion-sync-server
|
||||||
|
```
|
||||||
|
|
||||||
|
This start TaskChampion Sync-Server and publish the port to host. Please
|
||||||
|
note that this is a basic run, all data will be destroyed after stop and
|
||||||
|
delete container.
|
||||||
|
|
||||||
|
#### Persist data using a container volume
|
||||||
|
|
||||||
|
TaskChampion Sync-Server container image uses a volume
|
||||||
|
`/var/lib/taskchampion-sync-server` to store database. You can exec the
|
||||||
|
following to mount it in your host as persistent storage.
|
||||||
|
```sh
|
||||||
|
docker run -t -d \
|
||||||
|
--name=taskchampion \
|
||||||
|
-p 8080:8080 \
|
||||||
|
-v /my/taskchampion-sync-server:/var/lib/taskchampion-sync-server \
|
||||||
|
taskchampion-sync-server
|
||||||
|
```
|
||||||
|
|
||||||
|
Take note that you must create before the directory
|
||||||
|
`/my/taskchampion-sync-server` and set ownership to UID/GID 100.
|
||||||
|
```sh
|
||||||
|
mkdir -p /my/taskchampion-sync-server
|
||||||
|
chown -R 100:100 /my/taskchampion-sync-server
|
||||||
|
```
|
||||||
|
|
||||||
|
### From source
|
||||||
|
|
||||||
|
#### Installing Rust
|
||||||
|
|
||||||
|
TaskChampion Sync-Server build has been tested with current Rust stable
|
||||||
|
release version. You can install Rust from your distribution package or use
|
||||||
|
[`rustup`][rustup].
|
||||||
|
```sh
|
||||||
|
rustup default stable
|
||||||
|
```
|
||||||
|
|
||||||
|
If you prefer, you can use the stable version only for install TaskChampion
|
||||||
|
Sync-Server (you must clone the repository first).
|
||||||
|
```sh
|
||||||
|
rustup override set stable
|
||||||
|
```
|
||||||
|
|
||||||
|
[rustup]: https://rustup.rs/
|
||||||
|
|
||||||
|
#### Installing TaskChampion Sync-Server
|
||||||
|
|
||||||
|
To build TaskChampion Sync-Server binary simply execute the following
|
||||||
|
commands.
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/GothenburgBitFactory/taskchampion-sync-server.git
|
||||||
|
cd taskchampion-sync-server
|
||||||
|
cargo build --release
|
||||||
|
```
|
||||||
|
|
||||||
|
After build the binary is located in
|
||||||
|
`target/release/taskchampion-sync-server`.
|
||||||
|
Loading…
Reference in New Issue
Block a user