Your all-in-one hub for managing, creating, and organizing Excalidraw boards - free and open source
Demo • Features • Installation • Contributing
Excalihub is a passion project born from the desire to create a free, open-source alternative to Excalidraw+ while offering even more powerful features. It's designed to be your central hub for managing all your Excalidraw whiteboards, with a focus on organization, collaboration, and extensibility.
Note: Currently, Excalihub integrates with excalidraw.com for live sessions. Future updates will include support for both local and external Excalidraw sources, enabling seamless switching between large local projects and collaborative sessions on different hosts.
- 🗂️ Aggregate: Compil, create, and organize all your Excalidraw rooms in one place
- 📋 Effortless Organization: Keep everything neatly organized and easily accessible by archiving old rooms
- 🏠 Self-Hosting: Deploy your own instance for complete data sovereignty
- 📝 Templates: Create and use pre-formatted whiteboards for quick starts
- 💾 Automatic Backups: Never lose your work with automatic state snapshots
- 🏷️ Smart Categorization: Advanced organization with categories and special functionality
- 📑 Multi-Tab Support: Handle larger projects with tabulated whiteboards
- 🔄 Local/External Sources: Choose between local storage or external Excalidraw instances
- Docker and Docker Compose
- Git
# Clone the repository
git clone https://github.com/ZachLTech/excalihub.git
cd excalihub
# Copy and configure environment variables
cp .env.example .env
# Build and run with Docker
docker-compose up -d# Clone and install dependencies
git clone https://github.com/ZachLTech/excalihub.git
cd excalihub/app
npm install
# Configure environment
cp .env.example .env
# Start development server
npm run devCopy .env.example to .env and configure the following:
AUTH_SECRET = super_secret_1 # String
PORT = 3000 # Port
POSTGRES_PORT = 5432 # Port
BASE_URL = http://localhost:3000 # String
AUTH_ORIGIN = localhost:3000 # String
ALLOW_SIGNUPS = true # Boolean
POSTGRES_USER = postgres # String || default 'postgres'
POSTGRES_PASSWORD = postgres # Secret || default 'postgres'
POSTGRES_DB = postgres # String || default 'postgres'Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Excalihub is actively under development, with new features being added regularly. The roadmap includes:
- Enhanced template management
- Advanced backup systems
- Multi-tab whiteboard support
- Improved categorization
- Self-hosting capabilities
- Local/external source switching
Stay tuned for updates!