Built for enterprises, startups, and growing teams β no per-seat pricing, no vendor lock-in, your data on your own servers.
# Grab the compose file and run
curl -O https://raw.githubusercontent.com/aliansoftwareteam/AlianHub-Project-Management-System/main/docker-compose.yml
# Set JWT_SECRET (required) β see .env.example for full env-var reference
echo "JWT_SECRET=$(openssl rand -hex 32)" > .env
docker compose up -d
# AlianHub running at http://localhost:4000Update to a newer version later:
docker compose pull && docker compose up -dImages are published to GHCR:
ghcr.io/aliansoftwareteam/alianhub:latest. Multi-arch (amd64 + arm64).
git clone https://github.com/aliansoftwareteam/AlianHub-Project-Management-System.git
cd AlianHub-Project-Management-System
npm run setupThat's it. npm run setup will:
- Install all dependencies (root, frontend, wizard) in parallel
- Generate a
.envfile with secure random secrets - Build the installation wizard UI
- Start the server (the same entry production uses)
- Open
http://localhost:4000in your browser
On a fresh system the server serves the installation wizard. Complete it yourself β connect MongoDB, choose storage, skip or configure optional services (Firebase / AI / SMTP), and create your own company and admin account. Nothing is created automatically.
When it's done, you'll see this in your terminal:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Server running β finish installation in your browser
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
URL: http://localhost:4000
The wizard guides you to connect MongoDB, choose storage, and create
your own company and admin account.
When it finishes, the app rebuilds and the server stops (same as
production). Run `npm start` again, then sign in.
Stop: Ctrl+C
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The wizard's final step rebuilds the frontend and the server exits β the same
flow production relies on, where a process manager (e.g. pm2) restarts the app.
Locally there's no process manager, so just run npm start again, open
http://localhost:4000, and log in with the account you created.
Prerequisite: MongoDB running locally on mongodb://localhost:27017. If you don't have it: docker run -d -p 27017:27017 mongo:7 or download from mongodb.com.
| Command | What it does |
|---|---|
npm run setup |
Install deps, prepare .env, build the wizard UI, and start the server |
npm run dev |
Same as setup but skips dependency install |
npm run setup:reset |
Wipe node_modules and reinstall everything |
npm run setup -- --no-open |
Start without auto-opening a browser |
All existing scripts (
npm start,npm run nodemon,npm run basic-install) are unchanged. For active development with hot-reload, run the backend (npm run nodemon) and the frontend dev server (cd frontend && npm run serve) separately once the system is installed.
AlianHub is a full-stack, open-source project management system designed for teams that require flexibility, transparency, and ownership over their workflows.
Unlike SaaS-only tools, AlianHub is built to be:
- Self-hosted
- Extensible
- Customizable for real-world organizational needs
It supports both web and desktop environments and is suitable for internal tools, enterprise deployments, and long-term team collaboration.
graph TB
subgraph clients["Clients"]
Browser["π Web Browser<br/>Vue.js + Pinia"]
Desktop["π» Desktop App<br/>Electron"]
end
subgraph server["Server (Node.js + Express)"]
API["βοΈ Express API<br/>/api/v2/*"]
Socket["β‘ Socket.io<br/>real-time events"]
end
DB[("ποΈ MongoDB<br/>company-scoped<br/>multi-tenant")]
Storage[("π¦ Storage<br/>Wasabi S3 or local filesystem")]
Browser -->|REST + WebSocket| API
Browser -.->|live updates| Socket
Desktop -->|REST + WebSocket| API
Desktop -.->|live updates| Socket
API --> DB
API --> Storage
Socket --> DB
Key principle: all data is scoped to
companyIdfor multi-tenancy. A single AlianHub instance can host multiple companies, each with isolated data.
Deeper architecture docs: .claude/ARCHITECTURE.md Β· .claude/DESIGN.md
AlianHub is built using a pragmatic and scalable stack:
- Frontend: Vue
- Backend: Node.js
- Database: MongoDB
- Desktop: Electron
- Repository Structure: Single repository
-
π Project & task management β Create projects with custom milestones, sprints, statuses, and custom fields. Track tasks across List, Board, Table, Calendar, and Workload views with drag-and-drop, sub-tasks, checklists, attachments, comments, due dates, and reminders.
-
π₯ Team collaboration with RBAC β Assign tasks to users, manage role-based permissions per company, and create custom roles with dynamic permission rules. Multi-tenant by design β a single instance can host multiple companies, each with isolated data.
-
β‘ Real-time collaboration via Socket.io β Changes propagate to every connected client instantly. No polling, no stale views, no
F5refreshes. -
π Advanced search & saved filters β Find tasks by project, status, assignee, creator, due date, or priority. Save frequently used filters for one-click reuse.
-
β±οΈ Timesheets & reporting β Project, user, and workload timesheets. Generate milestone and performance reports. Optional productivity tracking (screenshots / keystrokes / mouse events) for time-sensitive teams.
-
π€ AI assistance β Generate tasks, subtasks, checklists, descriptions, and project templates with AI. Multiple LLM providers supported.
-
π¬ Built-in chat & channels β Real-time messaging and dedicated channels per project or team.
-
π» Web + desktop (Electron) β Identical experience in the browser and as a native desktop app. Multi-language UI via vue-i18n.
-
π Self-hosted, your data β Run on your own servers with MongoDB and Wasabi/S3 (or local filesystem) storage. No vendor lock-in, no per-seat pricing, no data leaving your infrastructure.
Features evolve continuously β see Discussions for what's next and CHANGELOG.md for what just shipped.
| Capability | Status |
|---|---|
| List Β· Board (Kanban) Β· Table Β· Calendar Β· Workload views | β Shipped |
| Sub-tasks, checklists, attachments, comments, custom fields | β Shipped |
| Time tracking β timesheets + optional screenshots / activity | β Shipped |
| Custom roles & per-company RBAC | β Shipped |
| Sprints, milestones & reports | β Shipped |
| AI task / sub-task / project generation | β Shipped |
| Built-in chat & channels Β· real-time sync (Socket.io) | β Shipped |
| Gantt / timeline view | π On the roadmap |
Capabilities that are free and built-in here β but paid, limited, or absent in other open-source PM tools:
| Capability | AlianHub | Plane (open-source) |
|---|---|---|
| Time tracking with screenshots | β Free | β Not available |
| Custom fields | β Free | π² Paid |
| Custom roles & permission matrix | β Free | β 3 fixed roles |
| Dashboards & widgets | β Free | π² Paid (custom) |
| Built-in chat | β Free | β Not available |
| AI project generation | β Free (your API key) | β Not available |
| Milestones | β Free | β Not available |
Comparison reflects each project's open-source edition; both are AGPL-3.0. AlianHub is younger and still closing gaps of its own (e.g. Gantt) β see the table above.
A quick tour of AlianHub. Try the live demo to explore for yourself.
Customizable home dashboard with drag-to-arrange widgets β Task by Assignee, Workload by Status, and a live Calendar view.
Drag-and-drop Kanban board grouped by status (or any field). Cards show due date, assignee, priority, and sub-task count. Switch the same project to List, Table, Calendar, Workload, or a custom view at any time.
Dense list view grouped by status with sortable columns β Chat, Assignee, Due Date, Priority, Key, Created Date, Created By. Select one or many tasks to bulk-edit status, priority, assignees, due dates, tags, or delete/archive in a single click.
Monthly calendar with tasks rendered as color-coded bars spanning their start and due dates. Sub-tasks appear inline with their parent. Filter by yourself or any assignee, navigate month-to-month, or jump to today.
Full task editor with Task Details, Comments, Activity Log, and Time Log tabs. Add sub-tasks, define unlimited custom fields (text, number, email, checkbox, currency, etc.), attach files, and track estimated vs. actual hours in the always-visible right sidebar.
Weekly workload + timesheet in a single view β see logged vs. planned hours per user, drill down into projects and individual tasks, navigate any date range, and toggle between automatically tracked time and manual entries. A capacity-planning differentiator that most open-source PMS tools don't ship.
Deep, per-company customization β company info, custom task priorities with icons, milestone statuses with past/future calendar visibility, multi-currency support, members & teams, project templates, custom field manager, role-based security & permissions, time-tracking rules, and notification preferences.
AI available everywhere β generate tasks, sub-tasks, checklists, project plans, and task descriptions from natural language. Pre-built prompt templates across Marketing, Sales, Email, SEO, and Services to jump-start your work without staring at a blank field.
π Full user guide & API reference: help.alianhub.com
For development:
- π€ CONTRIBUTING.md β how to contribute
- πΏ BRANCHING.md β branching strategy and PR workflow
- π‘οΈ CODE_OF_CONDUCT.md β community standards
- π SECURITY.md β responsible disclosure for security issues
- π SUPPORT.md β where to ask questions, report bugs, request features
You can explore a live demo here:
π https://demo.alianhub.com
Demo data may reset periodically.
What we're working on, what's planned, and what we're considering β follow along in GitHub Discussions.
Want to suggest something? Open a feature request or start a discussion.
Contributions are welcome β bug reports, feature ideas, documentation fixes, and pull requests of all sizes.
π Start here:
- π€ CONTRIBUTING.md β how to submit issues and PRs
- πΏ BRANCHING.md β branch model and PR workflow
- π‘οΈ CODE_OF_CONDUCT.md β community standards
- π SECURITY.md β responsible disclosure for security issues
Looking for something to work on? Browse good first issues or help wanted.
| What | Where |
|---|---|
| π Read the docs | help.alianhub.com |
| π¬ Ask a question | GitHub Discussions |
| π Report a bug | Bug Report issue |
| π Request a feature | Feature Request issue |
| π’ Commercial support | support@aliansoftware.net |
Full guide: SUPPORT.md.
AlianHub is built and maintained by Aliansoftware. Want it run for you? We also deploy, customize, and support AlianHub for teams:
- π Managed hosting & deployment β on your infrastructure or ours
- π οΈ Custom features & integrations β tailored to your workflow
- π€ Priority support & response-time targets β support@aliansoftware.net
AlianHub is currently maintained by core maintainers (company-backed).
The long-term goal is to transition toward a community-driven project with dedicated maintainers.
If you discover a security vulnerability, do not open a public issue.
Please report it responsibly using GitHub Security Advisories as described in
SECURITY.md.
We extend our gratitude to all our numerous contributors who create plugins, assist with issues and pull requests, and respond to questions on GitHub Discussions.
AlianHub Project-Management-System is a community-driven project, and your contributions continually improve it.
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
See the LICENSE file for the full license text and COPYRIGHT for the copyright notice.
What AGPL-3.0 means for you:
- β You can use, modify, self-host, and distribute AlianHub freely.
- β You can run a private modified version internally without publishing changes.
β οΈ If you run a modified version as a public network service (SaaS), you must publish your modifications under the same license.- π© Need a different license for commercial / closed-source use? Contact us at support@aliansoftware.net.