Self-hosted Responsive Web UI for Taskwarrior based on Vue.js and Koa.js
Find a file
2021-09-27 17:31:33 -04:00
.github/workflows ci: add build for multi-platform 2021-09-27 14:47:46 -04:00
backend feat(backend): add sync at backend 2020-10-29 20:57:51 +08:00
docker fix(docker): set production after build 2020-07-17 19:13:50 -07:00
frontend fix(frontend): remove debug info 2021-04-15 16:35:27 +08:00
nginx Revert "fix: fix location of config" 2021-09-27 17:31:33 -04:00
screenshots docs: add screenshots 2020-08-05 11:30:51 +08:00
.gitignore chore: update gitignore 2020-07-17 00:34:32 -07:00
Dockerfile Revert "fix: fix location of config" 2021-09-27 17:31:33 -04:00
LICENSE Initial commit 2020-06-29 19:07:45 -07:00
README.md docs: add details about sync 2020-10-29 21:12:34 +08:00

Taskwarrior-webui

Docker Cloud Build Status Docker Image Size

Responsive Web UI for Taskwarrior based on Vue.js and Koa.js.

Screenshots

Screenshot 1

Screenshot 2

Features

  • Responsive layouts
  • Material Design UI
  • PWA support
  • Easy to deploy (using Docker)
  • Support for multiple types of tasks
  • Support for light and dark themes
  • Sync with a taskserver

Deployment

First pull the docker image:

docker pull dcsunset/taskwarrior-webui

Then run it with the command:

docker run -d -p 8080:80 --name taskwarrior-webui \
	-v $HOME/.taskrc:/.taskrc -v $HOME/.task:/.task \
	dcsunset/taskwarrior-webui

Manually deploy

First build the frontend:

cd frontend
npm install
npm run build
npm run export

Then build and start the backend:

cd backend
npm install
npm run build
npm start

Then install nginx or other web servers to server frontend and proxy requests to backend (you can refer to nginx/nginx.conf).

Development

First start the server at backend:

cd backend
npm install
npm run dev

Then start the dev server at frontend:

cd frontend
npm install
npm run dev

Then the frontend will listen at port 8080.

FAQ

Sync with a taskserver

This Web UI supports auto sync with a taskd server by calling the task sync command periodically. In order to use this function, first you need to follow the instructions to configure both the taskserver and client manually until the task sync can be executed successfully. Then remember to map the client configurations (.taskrc and .task) into the container.

License

GPL-3.0 License