Taskstorm - A universal and collaborative task-tracker. (Deployed application, currently down)
- Workspace system to separate tasks for different projects
- Task tags and categories
- GitLab-style tag filtering for tasks
- Workflow stages to differentiate readiness statuses
- Customizing task list that should be notification targets
- Auto-closing tasks that are moved to stage that counts as finish
- Commenting tasks
- GitLab-style activity list in tasks
- GitHub-flavored Markdown in task descriptions and comments
- Kanban board
- Documents with live collaborative rich-text editing
- Calendar for user's tasks
- Statistics in profile
- Task recommendation
- Notification caching (sort of)
- Linked and child tasks
- Docker (w/ Docker Compose)
Taskstorm is using Docker Compose for deployment, so you can just clone this repo and start containers:
git clone https://github.com/Tapeline/Taskstorm.git
cd Taskstorm
docker compose up -d
Except you should provide SSL certificate and then access web interface via standard 443 browser port.
Do not forget to provide environment variables:
VAPID_PRIVATE
- VAPID private key. It is needed for webpush notifications to work properly.SECRET_KEY
- API secret key (signing JWT, etc.)
Also head to frontend/src/api/common.jsx
and change the return value
of getPublicVAPID()
to your public VAPID key. [didn't figure out yet how
to access environment variables on Vite build. I'm a backend developer, after
all :(]
SSL certificate files should be placed in ~/sslcert/
directory. For example, using a LetsEncrypt cert:
~/
|- sslcert
|- fullchain.pem
|- privkey.pem
Attention! Taskstorm is configured to use exactly these file names. If they differ, you can:
- Rename them
- Create a symbolic link with other name
- Configure Nginx service in
docker-compose.yml
to use different files
If you want to test Taskstorm on your machine, you might not want to provide SSL cert. In this case, you can use this command:
docker compose -f docker-compose.yml -f docker-compose.local.yml up -d
Project is being developed by @Tapeline
This work is licensed under GNU General Public License v3.0