Huly
All-in-one project management platform.
Overview
Huly is an open-source, all-in-one project management platform that serves as a modern alternative to Linear, combining issue tracking, project management, documentation, and team collaboration in a single unified interface. Built for modern development teams, Huly integrates project planning with real-time communication features including chat, virtual office spaces, and collaborative documents, making it a comprehensive workspace solution rather than just another task tracker.
This stack combines Huly's application server with MongoDB for flexible document storage, MinIO for S3-compatible file storage, and Elasticsearch for powerful full-text search capabilities. MongoDB handles Huly's dynamic project data, user information, and issue structures with its schema-flexible document model, while MinIO stores file attachments, images, and document assets with high-performance object storage. Elasticsearch powers Huly's advanced search functionality across projects, issues, documents, and chat messages, enabling teams to quickly locate information across their entire workspace.
Development teams, startups, and organizations seeking a self-hosted Linear alternative will find this configuration particularly valuable, as it provides enterprise-grade project management capabilities without vendor lock-in or per-user pricing. The combination delivers real-time collaboration features, advanced search across all content types, and the scalability to handle growing teams and complex project hierarchies while maintaining complete data ownership and customization control.
Key Features
- Linear-style issue tracking with customizable project workflows, sprints, and roadmap visualization
- Real-time collaborative documents with MongoDB change streams for instant synchronization
- Full-text search across issues, projects, documents, and chat using Elasticsearch's relevance scoring
- S3-compatible file attachment storage via MinIO with versioning and lifecycle management
- Virtual office and team chat integration with persistent message history in MongoDB
- Flexible project schema evolution using MongoDB's document-based data model
- High-performance file serving and thumbnail generation through MinIO's object storage
- Advanced search aggregations and filtering across all project data via Elasticsearch
Common Use Cases
- 1Self-hosted Linear alternative for development teams wanting data ownership and customization
- 2Startup project management hub combining issue tracking with team communication and documentation
- 3Enterprise teams requiring on-premises project management with advanced search capabilities
- 4Open-source projects needing integrated issue tracking, documentation, and contributor collaboration
- 5Consulting firms managing multiple client projects with unified communication and file storage
- 6Remote teams utilizing virtual office features alongside traditional project management workflows
- 7Organizations transitioning from multiple tools (Jira, Slack, Confluence) to a unified platform
Prerequisites
- Minimum 6GB RAM (2GB for Elasticsearch, 2GB for Huly, 1GB each for MongoDB and MinIO)
- Docker and Docker Compose with support for named volumes and inter-container networking
- Linux host with vm.max_map_count=262144 for Elasticsearch memory mapping requirements
- Available ports 8087 for Huly web interface and internal container communication
- Understanding of object storage concepts for MinIO configuration and file management
- Basic MongoDB knowledge for backup procedures and user management setup
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 huly: 3 image: hardcoreeng/huly:latest4 container_name: huly5 restart: unless-stopped6 ports: 7 - "8087:8087"8 environment: 9 MONGO_URL: mongodb://mongodb:2701710 MINIO_ENDPOINT: minio11 MINIO_ACCESS_KEY: minioadmin12 MINIO_SECRET_KEY: ${MINIO_PASSWORD}13 ELASTIC_URL: http://elastic:920014 depends_on: 15 - mongodb16 - minio17 - elastic1819 mongodb: 20 image: mongo:621 container_name: huly-mongo22 restart: unless-stopped23 volumes: 24 - huly_mongo:/data/db2526 minio: 27 image: minio/minio:latest28 container_name: huly-minio29 command: server /data30 environment: 31 MINIO_ROOT_USER: minioadmin32 MINIO_ROOT_PASSWORD: ${MINIO_PASSWORD}33 volumes: 34 - huly_minio:/data3536 elastic: 37 image: elasticsearch:8.11.038 container_name: huly-elastic39 environment: 40 discovery.type: single-node41 xpack.security.enabled: "false"42 volumes: 43 - huly_elastic:/usr/share/elasticsearch/data4445volumes: 46 huly_mongo: 47 huly_minio: 48 huly_elastic: .env Template
.env
1MINIO_PASSWORD=changeme123Usage Notes
- 1Docs: https://huly.io/docs
- 2Access at http://localhost:8087
- 3Linear-like issue tracking with projects, sprints, and roadmaps
- 4Documents, chat, and virtual office features
- 5Increase Elasticsearch memory: vm.max_map_count=262144
- 6Modern UI with real-time collaboration
Individual Services(4 services)
Copy individual services to mix and match with your existing compose files.
huly
huly:
image: hardcoreeng/huly:latest
container_name: huly
restart: unless-stopped
ports:
- "8087:8087"
environment:
MONGO_URL: mongodb://mongodb:27017
MINIO_ENDPOINT: minio
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: ${MINIO_PASSWORD}
ELASTIC_URL: http://elastic:9200
depends_on:
- mongodb
- minio
- elastic
mongodb
mongodb:
image: mongo:6
container_name: huly-mongo
restart: unless-stopped
volumes:
- huly_mongo:/data/db
minio
minio:
image: minio/minio:latest
container_name: huly-minio
command: server /data
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: ${MINIO_PASSWORD}
volumes:
- huly_minio:/data
elastic
elastic:
image: elasticsearch:8.11.0
container_name: huly-elastic
environment:
discovery.type: single-node
xpack.security.enabled: "false"
volumes:
- huly_elastic:/usr/share/elasticsearch/data
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 huly:5 image: hardcoreeng/huly:latest6 container_name: huly7 restart: unless-stopped8 ports:9 - "8087:8087"10 environment:11 MONGO_URL: mongodb://mongodb:2701712 MINIO_ENDPOINT: minio13 MINIO_ACCESS_KEY: minioadmin14 MINIO_SECRET_KEY: ${MINIO_PASSWORD}15 ELASTIC_URL: http://elastic:920016 depends_on:17 - mongodb18 - minio19 - elastic2021 mongodb:22 image: mongo:623 container_name: huly-mongo24 restart: unless-stopped25 volumes:26 - huly_mongo:/data/db2728 minio:29 image: minio/minio:latest30 container_name: huly-minio31 command: server /data32 environment:33 MINIO_ROOT_USER: minioadmin34 MINIO_ROOT_PASSWORD: ${MINIO_PASSWORD}35 volumes:36 - huly_minio:/data3738 elastic:39 image: elasticsearch:8.11.040 container_name: huly-elastic41 environment:42 discovery.type: single-node43 xpack.security.enabled: "false"44 volumes:45 - huly_elastic:/usr/share/elasticsearch/data4647volumes:48 huly_mongo:49 huly_minio:50 huly_elastic:51EOF5253# 2. Create the .env file54cat > .env << 'EOF'55MINIO_PASSWORD=changeme12356EOF5758# 3. Start the services59docker compose up -d6061# 4. View logs62docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/huly/run | bashTroubleshooting
- Elasticsearch container exits with bootstrap checks failed: Run 'sudo sysctl -w vm.max_map_count=262144' and add to /etc/sysctl.conf for persistence
- Huly cannot connect to MongoDB: Verify container networking and ensure MongoDB container is fully started before Huly initialization
- File uploads failing to MinIO: Check MINIO_PASSWORD environment variable matches between Huly and MinIO containers
- Search functionality not working: Confirm Elasticsearch container health and verify ELASTIC_URL environment variable format
- Huly web interface showing 502 errors: Check container logs for port binding conflicts and ensure 8087 is not in use by other services
- MongoDB connection timeouts: Increase MongoDB container memory allocation if handling large project datasets or multiple concurrent users
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Components
hulymongodbminioelastic
Tags
#huly#project-management#linear-alternative#issues
Category
Productivity & CollaborationAd Space
Shortcuts: C CopyF FavoriteD Download