Self-hosted project management - Canvas, Kanban, Gantt, and per-task chat in one Docker command.
Quick Start · Setup Guide · API Reference · Roadmap
![]() Canvas | ![]() Kanban |
![]() Gantt | ![]() Chat |
Requirements: Docker and Docker Compose v2.
git clone https://github.com/esbeneickhardt/Planly.git
cd Planly
cp .env.example .env
# Edit .env - set DB_PASSWORD, JWT_SECRET, ENCRYPTION_KEY, ADMIN_EMAIL, UPLOADS_DIR
# Generate secrets with: openssl rand -hex 32
docker compose up --build -d
Open http://localhost and register with your ADMIN_EMAIL to become the founding admin.
If you didn't set ADMIN_PASSWORD, a random password is printed to the backend logs on first start:
docker compose logs backend | grep "Password:"
For HTTPS + automatic TLS: see Getting Started.
Planly is built around a few strong opinions:
docker compose up and you're running it yourself.@mentions, project chat with file attachments, plus 1:1 and group direct messages separate from project chatSetting up your server
| Getting Started | Install Planly, configure your environment, first login |
Managing the server
| Administration | Users, audit log, announcements |
| Security | Auth model, MFA, CSRF, SSO, IP restrictions |
| Operations | Monitoring, scaling, incident response, backup/restore, key rotation |
API & Integrations
| Access Tokens | Personal Access Tokens and App Registrations |
| API Reference | Interactive API docs served at /api/docs in every Planly instance |
| Webhooks | Event catalog, payload format, HMAC signature verification |
Developing Planly
| Development | Local setup without Docker, architecture overview, migrations, contributing |
Fastify 5 + TypeScript · Prisma 5 · PostgreSQL 16 · React 18 + TailwindCSS · WebSocket · Docker Compose (dev) / Traefik + Let's Encrypt (prod)
Licensed under the Business Source License 1.1 - not OSI-approved open source today, but each release automatically converts to full Apache 2.0 four years after its publication date, no action required.
You are free to: use it, self-host it, modify it, and run it internally or commercially - with no time limit on any of that.
You may not (until the Change Date): sell it or offer it as a paid hosted service to others · use it as the basis for a competing product · use the code to train AI or ML models.
Contributors grant a royalty-free patent license covering their contributions. For commercial licensing or other permissions, open a GitHub Issue.
See CONTRIBUTING.md for the current status of external contributions.
146 commits
TypeScript
98.5%
Self-hosted project management - Canvas, Kanban, Gantt, and per-task chat in one Docker command.
Quick Start · Setup Guide · API Reference · Roadmap
![]() Canvas | ![]() Kanban |
![]() Gantt | ![]() Chat |
Requirements: Docker and Docker Compose v2.
git clone https://github.com/esbeneickhardt/Planly.git
cd Planly
cp .env.example .env
# Edit .env - set DB_PASSWORD, JWT_SECRET, ENCRYPTION_KEY, ADMIN_EMAIL, UPLOADS_DIR
# Generate secrets with: openssl rand -hex 32
docker compose up --build -d
Open http://localhost and register with your ADMIN_EMAIL to become the founding admin.
If you didn't set ADMIN_PASSWORD, a random password is printed to the backend logs on first start:
docker compose logs backend | grep "Password:"
For HTTPS + automatic TLS: see Getting Started.
Planly is built around a few strong opinions:
docker compose up and you're running it yourself.@mentions, project chat with file attachments, plus 1:1 and group direct messages separate from project chatSetting up your server
| Getting Started | Install Planly, configure your environment, first login |
Managing the server
| Administration | Users, audit log, announcements |
| Security | Auth model, MFA, CSRF, SSO, IP restrictions |
| Operations | Monitoring, scaling, incident response, backup/restore, key rotation |
API & Integrations
| Access Tokens | Personal Access Tokens and App Registrations |
| API Reference | Interactive API docs served at /api/docs in every Planly instance |
| Webhooks | Event catalog, payload format, HMAC signature verification |
Developing Planly
| Development | Local setup without Docker, architecture overview, migrations, contributing |
Fastify 5 + TypeScript · Prisma 5 · PostgreSQL 16 · React 18 + TailwindCSS · WebSocket · Docker Compose (dev) / Traefik + Let's Encrypt (prod)
Licensed under the Business Source License 1.1 - not OSI-approved open source today, but each release automatically converts to full Apache 2.0 four years after its publication date, no action required.
You are free to: use it, self-host it, modify it, and run it internally or commercially - with no time limit on any of that.
You may not (until the Change Date): sell it or offer it as a paid hosted service to others · use it as the basis for a competing product · use the code to train AI or ML models.
Contributors grant a royalty-free patent license covering their contributions. For commercial licensing or other permissions, open a GitHub Issue.
See CONTRIBUTING.md for the current status of external contributions.
146 commits
TypeScript
98.5%