This is an old revision of the document!
Table of Contents
Taskwarrior Notes
- All operations below were performed under Debian 13.5. Debian 12 appeared to lack the necessary tools or libraries (must test further).
Server
We need to install the Task Champion server using Docker, which is opaque and full of danger:
apt-get install rust-all rustup git apt install -y ca-certificates curl gnupg lsb-release apt install -m 0755 -d /etc/apt/keyrings apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin systemctl enable --now docker newgrp docker usermod -aG docker <regular userid> git clone https://github.com/GothenburgBitFactory/taskchampion-sync-server.git cd taskchampion-sync-server/ docker build -t taskchampion-sync-server -f Dockerfile-sqlite chown [userid] -R taskchampion-sync-server
You can make a startup file like:
docker run -t -d --name=taskchampion -e LISTEN=0.0.0.0:9999 -p 9999:9999 taskchampion-sync-server
BE CAREFUL! If your destroy the Docker image, your database is gone, too! In theory, any up-to-date client could re-populate it by doing a sync init, but this is untested.
Client
We must compile the TW client directly since the pre-build Debian package does not include the sync feature:
git clone https://github.com/GothenburgBitFactory/taskwarrior.git cd taskwarrior git submodule update --init --recursive apt-get install rust-all cargo cmake gcc build-essential cmake uuid-dev git gnupg apt-get install rustup rustup default stable [may be unnecessary] cmake -S . -B build -DCMAKE_BUILD_TYPE=Release cmake --build build cmake --install build
In WSL under Windows 11, I had to do this instead. Something to do with rust and corrosion version conflicts:
cmake -S . -B build \ -DCMAKE_BUILD_TYPE=Release \ -DRust_CARGO_TARGET=x86_64-unknown-linux-gnu \ -DCorrosion_RUSTC_EXECUTABLE="$HOME/.cargo/bin/rustc"
Client setup:
task config sync.server.url http://site:port task config sync.server.client_id <a UUID you generate with uuidgen task config sync.encryption_secret "passphrase you make up" task sync init [should only be needed for first sync on main client, to xfer sqlite data to Task Champion] task sync
Mobile
The Android client Taskstrider works with this setup.
Notes
Command Reference (for 2.5.3, can't find one for 3.4.x yet)
Unfortunately, the official taskwarrior-tui does not work with version 3.4 yet, but this shows promise.