Mnemos Wiki
Web interface for browsing the Mnemos knowledge base.
Quick Start
Prerequisites: nginx-proxy and Letās Encrypt companion running
# Check SSL setup
make check-ssl
# Start the wiki
make up
# Stop the wiki
make down
# View logs
make wiki-logs
Access at: https://mnemos.lyra.moul.io (or your configured domain)
Configuration
Copy .env.example to .env and customize:
cp .env.example .env
Environment Variables
VIRTUAL_HOST- Domain for nginx-proxy (e.g.,mnemos.yourdomain.com)PORT- Port to expose (default: 3000)LETSENCRYPT_HOST- Domain for SSL certificate (optional)LETSENCRYPT_EMAIL- Email for Letās Encrypt (optional)
Usage
Production (Default)
By default, the wiki only works with nginx-proxy:
make up
Access at: https://mnemos.lyra.moul.io
Local Development
For local development:
make wiki-dev
This automatically creates the override file and starts the wiki on http://localhost:3000
With SSL (Production)
VIRTUAL_HOST=mnemos.yourdomain.com \
LETSENCRYPT_HOST=mnemos.yourdomain.com \
LETSENCRYPT_EMAIL=you@yourdomain.com \
make up
Features
- Full-text search - Search across all notes
- Type filtering - Filter by note type (fact, question, todo, pitch)
- Tag filtering - Filter by tags
- Wiki links - internal links work between notes
- Responsive design - Works on mobile and desktop
- Auto-refresh - Updates when files change (development mode)
Architecture
The wiki server:
- Scans all
.mdfiles in the repository - Parses YAML frontmatter for metadata
- Processes markdown with wiki-link support
- Serves a web interface with search and filtering
- Watches for file changes in development mode
Development
# Build and start
make up
# View logs
make wiki-logs
# Shell into container
make wiki-shell
# Restart (rebuild)
make wiki-restart
SSL/TLS Setup
The wiki is configured for automatic HTTPS via Letās Encrypt:
Prerequisites
- nginx-proxy running:
docker run -d -p 80:80 -p 443:443 --name nginx-proxy \
-v /var/run/docker.sock:/tmp/docker.sock:ro \
jwilder/nginx-proxy
- Letās Encrypt companion:
docker run -d --name nginx-proxy-letsencrypt \
--volumes-from nginx-proxy \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /var/lib/docker/containers:/var/lib/docker/containers:ro \
jrcs/letsencrypt-nginx-proxy-companion
- DNS Configuration: Ensure
mnemos.lyra.moul.iopoints to your server
Verification
# Check if everything is set up correctly
make check-ssl
# Start wiki (SSL certificate will be generated automatically)
make up
# Verify HTTPS works
curl -I https://mnemos.lyra.moul.io
Docker Networks
The setup creates:
mnemos-network- Internal network for the wikinginx-proxy- External network for nginx-proxy integration
SSL certificates are automatically generated and renewed by the Letās Encrypt companion.
Nginx Proxy Integration
The docker-compose file is configured to work with:
Environment variables automatically configure:
- Virtual host routing
- SSL certificate generation
- Load balancer configuration