Files
homelab-optimized/hosts/vms/seattle/obsidian
Gitea Mirror Bot d6eb5dcb1e
Some checks failed
Documentation / Build Docusaurus (push) Failing after 18m8s
Documentation / Deploy to GitHub Pages (push) Has been skipped
Sanitized mirror from private repository - 2026-04-19 07:39:14 UTC
2026-04-19 07:39:14 +00:00
..

Obsidian - Web-based Note Taking

📋 Overview

Obsidian is a powerful knowledge management and note-taking application. This deployment provides web-based access to Obsidian through a containerized environment, allowing remote access to your notes and knowledge base.

🔧 Service Details

Property Value
Container Name obsidian
Image lscr.io/linuxserver/obsidian:latest
Web Port 127.0.0.1:3000
Secondary Port 127.0.0.1:3001
Domain obs.vish.gg
User admin
Timezone America/Los_Angeles

🌐 Network Access

  • Public URL: https://obs.vish.gg
  • Local Access: http://127.0.0.1:3000
  • Secondary Port: http://127.0.0.1:3001
  • Reverse Proxy: Nginx configuration in /etc/nginx/sites-enabled/obsidian

📁 Directory Structure

/opt/obsidian/
├── docker-compose.yml    # Service configuration
└── config/              # Application configuration
    ├── data/            # Obsidian vaults and notes
    ├── Desktop/         # Desktop environment files
    └── .config/         # Application settings

🚀 Management Commands

Docker Operations

# Navigate to service directory
cd /opt/obsidian/

# Start service
docker-compose up -d

# Stop service
docker-compose down

# Restart service
docker-compose restart

# View logs
docker-compose logs -f

# Update service
docker-compose pull
docker-compose up -d

Container Management

# Check container status
docker ps | grep obsidian

# Execute commands in container
docker exec -it obsidian bash

# View container logs
docker logs obsidian -f

# Check resource usage
docker stats obsidian

⚙️ Configuration

Environment Variables

  • PUID/PGID: 1000 (user permissions)
  • Timezone: America/Los_Angeles
  • Custom User: admin
  • Password: REDACTED_PASSWORD (change in production!)

Security Options

  • seccomp: unconfined (required for GUI applications)
  • Shared Memory: 1GB (for browser rendering)

Volume Mounts

  • Config: /opt/obsidian/config/config

🔒 Security Considerations

  • Local Binding: Only accessible via localhost (127.0.0.1)
  • Nginx Proxy: SSL termination and authentication
  • Default Credentials: Change default password immediately
  • Container Isolation: Runs in isolated Docker environment
  • File Permissions: Proper user/group mapping

💻 Usage

Web Interface

  1. Access via https://obs.vish.gg
  2. Log in with configured credentials
  3. Use Obsidian's full interface through the browser
  4. Create and manage vaults
  5. Install community plugins and themes

Features Available

  • Full Obsidian Interface: Complete desktop experience in browser
  • Vault Management: Create and switch between vaults
  • Plugin Support: Install community plugins
  • Theme Support: Customize appearance
  • File Management: Upload and organize files
  • Graph View: Visualize note connections

🔧 Maintenance

Backup

# Backup entire configuration
tar -czf obsidian-backup-$(date +%Y%m%d).tar.gz /opt/obsidian/config/

# Backup specific vault
tar -czf vault-backup-$(date +%Y%m%d).tar.gz /opt/obsidian/config/data/YourVaultName/

Updates

cd /opt/obsidian/
docker-compose pull
docker-compose up -d

Performance Tuning

# Increase shared memory if needed
# Edit docker-compose.yml and increase shm_size

# Monitor resource usage
docker stats obsidian

🐛 Troubleshooting

Common Issues

# Container won't start
docker-compose logs obsidian

# GUI not loading
# Check shared memory allocation
# Verify seccomp:unconfined is set

# Permission issues
sudo chown -R 1000:1000 /opt/obsidian/config/

# Performance issues
# Increase shm_size in docker-compose.yml
# Check available system resources

Connection Issues

# Test local endpoint
curl -I http://127.0.0.1:3000

# Test public endpoint
curl -I https://obs.vish.gg

# Check nginx configuration
sudo nginx -t
sudo systemctl reload nginx

File Access Issues

# Check file permissions
ls -la /opt/obsidian/config/

# Fix ownership
sudo chown -R 1000:1000 /opt/obsidian/config/

# Check disk space
df -h /opt/obsidian/
  • Nginx: Reverse proxy with SSL termination
  • Let's Encrypt: SSL certificate management
  • Docker: Container runtime

📚 External Resources