Trilium Notes
Hierarchical note-taking application for knowledge bases.
Overview
Trilium Notes is a hierarchical note-taking application built by Zadam that transforms how individuals and organizations capture, organize, and interconnect knowledge. Originally developed as an open-source alternative to commercial knowledge management solutions, Trilium emphasizes flexible content organization through unlimited tree structures, rich content types, and powerful linking capabilities that create true knowledge webs rather than isolated documents. This Docker deployment leverages the official Trilium image to provide a self-hosted, web-accessible note-taking platform that runs entirely under your control, eliminating dependence on external services while maintaining full data ownership. The containerized setup ensures consistent performance across different hosting environments while simplifying backup and migration procedures. This configuration appeals particularly to knowledge workers, researchers, developers, and teams who need sophisticated note organization beyond simple folders, offering features like scripting automation, relation mapping, and synchronized access across multiple devices through Trilium's desktop synchronization capabilities.
Key Features
- Hierarchical tree structure with unlimited nesting depth for complex knowledge organization
- Multiple note types including text, code, book, canvas, and web clipper for diverse content
- Bidirectional linking system with relation maps for visualizing knowledge connections
- Built-in scripting engine supporting JavaScript for task automation and custom behaviors
- Full-text search with advanced filtering and attribute-based queries
- Note cloning and template system for reusable content structures
- Desktop application synchronization for offline access and multi-device workflows
- Export capabilities to various formats including HTML, markdown, and OPML
Common Use Cases
- 1Personal knowledge management for researchers collecting and linking academic sources
- 2Software development documentation with code snippets and project hierarchies
- 3Team wikis for organizations needing structured internal knowledge bases
- 4Student note-taking systems for interconnected course materials and references
- 5Creative writing projects with character development and world-building trees
- 6Technical documentation repositories with searchable procedures and troubleshooting guides
- 7Business process documentation with departmental knowledge organization
Prerequisites
- Docker and Docker Compose installed with minimum 512MB available RAM
- Port 8080 available for web interface access
- Sufficient disk space for note storage and media attachments (minimum 1GB recommended)
- Modern web browser supporting JavaScript for full interface functionality
- Basic understanding of hierarchical information organization concepts
- Network access for initial container image download (approximately 100MB)
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 trilium: 3 image: zadam/trilium:latest4 container_name: trilium5 restart: unless-stopped6 ports: 7 - "8080:8080"8 volumes: 9 - trilium_data:/home/node/trilium-data10 environment: 11 TRILIUM_DATA_DIR: /home/node/trilium-data1213volumes: 14 trilium_data: .env Template
.env
1# No environment variables requiredUsage Notes
- 1Docs: https://github.com/zadam/trilium/wiki
- 2Access at http://localhost:8080 - set password on first visit
- 3Hierarchical tree structure with unlimited nesting
- 4Note types: text, code, book, canvas, web clipper
- 5Relation maps and scripting for advanced knowledge management
- 6Sync between server and desktop app available
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 trilium:5 image: zadam/trilium:latest6 container_name: trilium7 restart: unless-stopped8 ports:9 - "8080:8080"10 volumes:11 - trilium_data:/home/node/trilium-data12 environment:13 TRILIUM_DATA_DIR: /home/node/trilium-data1415volumes:16 trilium_data:17EOF1819# 2. Create the .env file20cat > .env << 'EOF'21# No environment variables required22EOF2324# 3. Start the services25docker compose up -d2627# 4. View logs28docker 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/trilium-notes/run | bashTroubleshooting
- Database locked error on startup: Stop container completely, check for zombie processes, and restart with docker-compose down && docker-compose up
- Cannot access web interface on localhost:8080: Verify port binding in docker-compose.yml and check firewall settings allowing port 8080
- Trilium data directory permission errors: Ensure Docker has write permissions to the mounted volume location with proper user ownership
- Slow performance with large note trees: Increase container memory allocation and consider database optimization through Trilium's built-in maintenance tools
- Desktop sync connection failures: Verify server URL accessibility and check that sync credentials match the web interface login
- Note content corruption after container restart: Always use proper shutdown procedures and ensure volume mounts are correctly configured before adding content
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
Ad Space
Shortcuts: C CopyF FavoriteD Download