Installation
Run TasksPipes with Docker in a few minutes.
TasksPipes is a single Node.js container serving both the API and the web app, with PostgreSQL and Redis. The
docker-compose.yml of the repository runs all three.
Requirements
- A server with Docker and Docker Compose;
- a domain name, and an HTTPS reverse proxy (Caddy, Traefik, nginx…);
- optionally, an SMTP account for e-mails, and an Outline workspace.
Quick start
Get the code and the configuration:
git clone https://github.com/j33f/TasksPipes.git cd TasksPipes cp .env.example .envFill in at least
APP_URL(the public URL),APP_SECRET(openssl rand -hex 32) andPOSTGRES_PASSWORD. No Outline server needs to be configured: people type theirs on the sign-in page.Start:
docker compose up -d --buildOpen
APP_URLand sign in. Add your address toADMIN_EMAILSto manage the instance from Administration — e-mail, Outline and sign-in can then be set in the app.
Behind a reverse proxy
With an https:// APP_URL, cookies are Secure. The proxy must pass WebSocket upgrades through for live updates
(/api/events); Caddy and Traefik do it by default. With Caddy:
tasks.example.com {
encode zstd gzip
reverse_proxy 127.0.0.1:3000
}
The port is published on 127.0.0.1 only (APP_BIND): the app trusts the client address sent by the proxy, so it
must be reached through the proxy alone.
Upgrading
Pull the new version and rebuild; the database schema is upgraded at start-up:
git pull
docker compose up -d --build
Back up the database first (docker compose exec db pg_dump -U taskspipes -Fc taskspipes > backup.dump).