taskwarrior-web-portal

taskwarrior-web-portal

Docker app from Furan917s' Repository

Overview

A web UI for Taskwarrior 3.x, packaged for Unraid. Browse, create, edit, and complete tasks from your browser without touching the CLI. Task data lives on your Unraid share and is never sent anywhere unless you opt in to sync. Optionally pairs with the taskchampion-sync-server Community App to sync tasks across multiple devices — all encryption happens client-side, the sync server never sees plaintext. Runs fully local with no sync server if preferred. WARNING: This app has no built-in authentication. It is designed for trusted LAN access only. If you intend to expose it outside your local network, place it behind a reverse proxy with authentication — for example Nginx Proxy Manager with HTTP Basic Auth, or a Cloudflare Tunnel with Authelia or Authentik in front.

Requirements

Taskwarrior 3.x is bundled in the image — nothing to install separately. On first start the container generates a unique client UUID. You can find it in the container log (Unraid Docker tab > Log icon) or on the web portal's config page (cog icon, top right). If you are syncing across multiple devices, all devices must use the same UUID — set the Sync Client ID field to match your existing device's UUID so they share the same task database on the server. To add UDA definitions, context definitions, journal settings, or any other Taskwarrior settings, edit /config/taskrc — add your settings below the end marker line. The container-managed block at the top of that file is regenerated on each start, but your settings below the marker are never touched.

Runtime arguments

Web UI
http://[IP]:[PORT:5050]/
Network
bridge
Shell
sh
Privileged
false
Extra Params
--restart=unless-stopped

Template configuration

WebUI PortPorttcp

Host port for the web UI. The default is 5050; change it here if that port is already in use on your server.

Target
5050
Default
5050
Value
5050
ConfigPathrw

Persistent storage for your task data, client UUID, and config. Back this path up — it is the only copy of your tasks.

Target
/config
Default
/mnt/user/appdata/taskwarrior-web-portal
Value
/mnt/user/appdata/taskwarrior-web-portal
PUIDVariable

User ID the process runs as. Defaults to Unraid's nobody user (99). Set to your own UID (run `id -u` in the Unraid terminal) if you want task files owned by your user account.

Default
99
Value
99
PGIDVariable

Group ID the process runs as. Defaults to Unraid's users group (100).

Default
100
Value
100
Disable Host CheckVariable

Set to 1 to disable the host/origin allowlist check. Recommended for Docker deployments where the external hostname or port is not known. Set to 0 and use Allowed Hosts below if you want stricter control.

Target
TWP_DISABLE_HOST_CHECK
Default
1
Value
1
Allowed HostsVariable

Only used when Disable Host Check is 0. Your Unraid server's LAN IP address, e.g. 192.168.1.10. Separate multiple entries with commas.

Target
TWP_ALLOWED_HOSTS
Secure CookiesVariable

Set to 1 if this container is behind a TLS-terminating reverse proxy (e.g. Nginx Proxy Manager with HTTPS). Adds the Secure flag to the CSRF cookie so it is only transmitted over HTTPS. Leave at 0 for plain HTTP LAN access.

Target
TWP_SECURE_COOKIES
Default
0
Value
0
Sync Server URLVariable

Optional. Full URL of your TaskChampion Sync Server, e.g. http://192.168.1.10:8007. Leave empty to run local-only with no sync.

Target
TWC_SERVER_URL
Sync PassphraseVariable

Encryption passphrase for your task data. Required when a Sync Server URL is set. Tasks are encrypted before leaving this container — the sync server never sees plaintext. Use a strong passphrase and store it safely; it cannot be recovered if lost.

Target
TWC_PASSPHRASE
Sync Client IDVariable

The client UUID used to identify your task database on the sync server. IMPORTANT: all devices that should share the same tasks must use the same UUID here. Copy the UUID from your other device's taskrc (rc.sync.server.client_id) or from the web portal config page. Leave empty to auto-generate a new UUID on first start (local-only or first device).

Target
TWC_CLIENT_ID
Bugwarrior BinaryVariable

Optional. Absolute path to the bugwarrior binary inside the container, e.g. /venv/bin/bugwarrior. Only needed if you have installed bugwarrior in a custom location or a mounted virtualenv. Leave empty to let the portal detect it automatically via PATH and common install directories.

Target
BUGWARRIOR_BIN

Details

Repository
ghcr.io/furan917/taskwarrior-web-portal-docker:latest
Last Updated2026-05-31
First Seen2026-05-16

Run taskwarrior-web-portal on Unraid.

taskwarrior-web-portal is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.