Troubleshooting Guide
Common issues and solutions when running plumio.
Installation Issues
Docker image fails to pull
Error: Error response from daemon: manifest for ghcr.io/albertasaftei/plumio:latest not found
Solutions:
- Check your internet connection
- Verify Docker is running:
docker ps - Try pulling explicitly:
docker pull ghcr.io/albertasaftei/plumio:latest - Check if the image exists on GitHub Container Registry
Port already in use
Error: Bind for 0.0.0.0:3000 failed: port is already allocated
Solution: Change the port mapping in docker-compose.yml:
ports:
- "8080:3000" # Use port 8080 instead
- "8081:3001"
Check what's using the port:
lsof -i :3000
# or on Linux
netstat -tulpn | grep 3000
Permission denied errors
Error: mkdir: cannot create directory '/data': Permission denied
Solutions:
-
Fix volume permissions:
docker-compose down
docker volume rm plumio_plumio-data
docker volume create plumio_plumio-data
docker-compose up -d -
Use bind mount with correct permissions:
mkdir -p /path/to/data
sudo chown -R 1000:1000 /path/to/dataUpdate
docker-compose.yml:volumes:
- /path/to/data:/data
Runtime Issues
Container starts but website is unreachable
Check container status:
docker-compose ps
Check logs:
docker-compose logs -f plumio
Common causes:
-
Health check failing:
docker-compose exec plumio wget -qO- http://localhost:3001/api/health -
Firewall blocking access:
# Check if ports are listening
netstat -tulpn | grep -E '3000|3001' -
Wrong ALLOWED_ORIGINS:
- Check
.envfile - Verify it matches your frontend URL
- Check
Database is locked
Error: database is locked or SQLITE_BUSY
Immediate fix:
docker-compose restart plumio
Permanent solution:
Ensure WAL mode is enabled. Create a file init-db.sql:
PRAGMA journal_mode=WAL;
PRAGMA busy_timeout=5000;
This is usually enabled by default in plumio.
Causes:
- Multiple simultaneous writes
- Long-running transactions
- Backup process accessing database
High memory usage
Check memory usage:
docker stats plumio
Solutions:
-
Increase limits in docker-compose.yml:
deploy:
resources:
limits:
memory: 2G -
Optimize Node.js heap:
environment:
- NODE_OPTIONS=--max-old-space-size=1024 -
Clear cache:
docker-compose restart plumio
Slow performance
Diagnose:
-
Check disk I/O:
docker-compose exec plumio df -h /data -
Check database size:
docker-compose exec plumio du -sh /data/plumio.db -
Monitor resources:
docker stats plumio
Solutions:
- Use SSD storage for better performance
- Clean up old data (archive unused notes, delete old revisions)
- Increase Docker resource limits
For detailed database optimization and performance tuning, see the Self-Hosting Guide
Authentication Issues
Forgot admin password
If you've lost access to the admin account, you have two options:
- Reset via database - Requires database access to generate and update password hash
- Reset all data (destructive) - Creates fresh installation (backup first!)
For detailed password reset procedures, see the Self-Hosting Guide
JWT token invalid/expired
Error in console: Invalid token or Token expired
Solutions:
-
Clear browser storage:
- Open Developer Tools (F12)
- Application → Local Storage
- Clear all entries for your plumio domain
-
Logout and login again
-
Check JWT_SECRET hasn't changed:
- Changing JWT_SECRET invalidates all existing tokens
- Users need to re-login
Data Issues
Documents not saving
Check:
-
Browser console for errors:
- Press F12
- Check Console tab
- Look for failed API requests
-
Backend logs:
docker-compose logs -f plumio | grep ERROR -
Disk space:
docker-compose exec plumio df -h /data -
Permissions:
docker-compose exec plumio ls -la /data/documents
Documents disappeared
Possible causes:
- Check Deleted folder - Documents may be soft-deleted
- Check different organization - Wrong organization selected
- Database corruption - Restore from backup
Recovery steps:
-
Check if files exist:
docker-compose exec plumio find /data/documents -name "*.md" -
Check database:
docker-compose exec plumio sqlite3 /data/plumio.db "
SELECT id, title, is_deleted FROM documents LIMIT 10;
" -
Restore from backup - See the Self-Hosting Guide for detailed backup and restore procedures
Encryption/Decryption errors
Error: Decryption failed or Invalid encryption key
Causes:
- ENCRYPTION_KEY changed
- Document encrypted with different key
- Corruption during encryption
Solutions:
-
Verify ENCRYPTION_KEY matches original:
cat .env | grep ENCRYPTION_KEY -
Disable encryption temporarily (for new docs only):
ENABLE_ENCRYPTION=falseExisting encrypted documents still need the original key.
-
Restore from backup if key is lost permanently
Encrypted documents cannot be decrypted without the original ENCRYPTION_KEY. Always backup this key securely.
Network Issues
CORS errors
Error in browser console: CORS policy: No 'Access-Control-Allow-Origin' header
Solutions:
-
Update ALLOWED_ORIGINS in docker-compose.yml:
environment:
- ALLOWED_ORIGINS=http://localhost:3000,https://plumio.yourdomain.com -
Restart container:
docker-compose down && docker-compose up -d -
Check frontend and backend URLs match:
- Frontend:
http://localhost:3000 - API:
http://localhost:3001 - ALLOWED_ORIGINS should include frontend URL
- Frontend:
Can't access from other devices on network
Solutions:
-
Bind to all interfaces:
ports:
- "0.0.0.0:3000:3000"
- "0.0.0.0:3001:3001" -
Update ALLOWED_ORIGINS:
ALLOWED_ORIGINS=http://192.168.1.100:3000 -
Check firewall:
# Linux (ufw)
sudo ufw allow 3000/tcp
sudo ufw allow 3001/tcp
# Linux (firewalld)
sudo firewall-cmd --add-port=3000/tcp --permanent
sudo firewall-cmd --add-port=3001/tcp --permanent
sudo firewall-cmd --reload
Backup & Restore Issues
Backup fails
Common errors:
Permission denied- Volume permissions issueNo such file or directory- Incorrect volume name or pathtar: can't create file- Write permissions on backup directory
Solutions:
- Verify Docker volume exists:
docker volume ls - Check backup directory permissions
- Ensure sufficient disk space
For detailed backup procedures and troubleshooting, see the Self-Hosting Guide
Restore fails
Common errors:
tar: can't open: No such file or directory- Backup file doesn't exist or has wrong pathPermission denied- Volume permissions issueDatabase is locked- plumio container still running
Solutions:
- Verify backup file exists and is readable
- Check backup integrity:
tar tzf backups/your-backup.tar.gz | head - Ensure plumio containers are stopped before restore
For detailed restore procedures, see the Self-Hosting Guide
Browser Issues
Page won't load
Steps:
-
Clear browser cache:
- Chrome/Edge: Ctrl+Shift+Del
- Firefox: Ctrl+Shift+Del
- Safari: Cmd+Option+E
-
Try incognito/private mode
-
Check browser console (F12) for errors
-
Try different browser
Editor not working
Common causes:
- JavaScript disabled - Enable in browser settings
- Ad blocker interfering - Whitelist your plumio domain
- Old cached files - Clear cache
- Browser not supported - Use modern browser (Chrome, Firefox, Edge, Safari)
Docker Compose Issues
docker-compose command not found
Solution:
Install Docker Compose V2:
# Linux
sudo apt-get update
sudo apt-get install docker-compose-plugin
# Mac
# Included with Docker Desktop
# Verify
docker compose version
Environment variables not loaded
Check .env file:
cat .env
Ensure it's in the same directory as docker-compose.yml
Restart to apply changes:
docker-compose down
docker-compose up -d
Getting More Help
If your issue isn't listed here:
-
Check logs:
docker-compose logs --tail=100 plumio -
Enable debug mode:
environment:
- NODE_ENV=development
- DEBUG=* -
Search existing issues: GitHub Issues
-
Create a new issue: Include:
- plumio version
- Docker version
- Operating system
- Complete error messages
- Steps to reproduce
- Relevant logs
-
Check documentation: