2.8 KiB
2.8 KiB
Auto-Start Obsidian with Systemd
Ensures Obsidian starts automatically on boot and stays running.
Installation
1. Install Required Packages
sudo apt update
sudo apt install -y xvfb xvfb-run
2. Copy Service Files
sudo cp /workspace/second-brain/obsidian.service /etc/systemd/system/
sudo cp /workspace/second-brain/obsidian-mcp.service /etc/systemd/system/
3. Reload Systemd
sudo systemctl daemon-reload
4. Enable Services
# Enable Obsidian to start on boot
sudo systemctl enable obsidian.service
# Enable MCP server (optional, but recommended)
sudo systemctl enable obsidian-mcp.service
5. Start Services
# Start both services
sudo systemctl start obsidian.service
sudo systemctl start obsidian-mcp.service
# Check status
sudo systemctl status obsidian.service
sudo systemctl status obsidian-mcp.service
Managing Services
View Logs
# Real-time Obsidian logs
sudo journalctl -fu obsidian.service
# Real-time MCP server logs
sudo journalctl -fu obsidian-mcp.service
# Last 50 lines
sudo journalctl -n 50 -u obsidian.service
Stop/Restart
sudo systemctl stop obsidian.service
sudo systemctl restart obsidian.service
sudo systemctl restart obsidian-mcp.service
Check Auto-Start
# List enabled services
systemctl list-unit-files | grep obsidian
# Should show "enabled" for both
Service Configuration
obsidian.service
- Type: simple
- User: intense
- Display: Virtual Xvfb (:99)
- Restart: Always (if crashes, restarts in 15s)
- Memory Limit: 2GB
- CPU Quota: 80%
obsidian-mcp.service
- Depends on: obsidian.service
- Type: simple
- Restart: Always
- Memory Limit: 512MB
- Health Check: Verifies API is reachable on startup
Troubleshooting
Obsidian won't start
sudo journalctl -u obsidian.service -n 50 --no-pager
MCP server failing
# Make sure .env has valid API key
cat /workspace/second-brain/.env | grep OBSIDIAN_API_KEY
Can't connect to Obsidian
# Check if Obsidian is running
ps aux | grep obsidian
# Check virtual display
ps aux | grep Xvfb
# Manual test
DISPLAY=:99 xdpyinfo
Port already in use
# Check who's using port 27123
sudo lsof -i :27123
Alternative: Supervisor
If systemd doesn't work, use supervisord:
sudo apt install supervisor
cat > /etc/supervisor/conf.d/obsidian.conf << 'EOF'
[program:obsidian]
command=/home/intense/.local/bin/obsidian --no-sandbox
user=intense
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/obsidian.log
environment=DISPLAY=:99
EOF
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start obsidian
Created: 2026-04-26