Initial commit: Obsidian Web Interface for Claude Code

- Full IDE with terminal integration using xterm.js
- Session management with local and web sessions
- HTML preview functionality
- Multi-terminal support with session picker

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
uroma
2026-01-19 16:29:44 +00:00
Unverified
commit 0dd2083556
44 changed files with 18955 additions and 0 deletions

81
obsidian-nginx.conf Normal file
View File

@@ -0,0 +1,81 @@
# Nginx configuration for Obsidian Web Interface
# Place this in /etc/nginx/sites-available/ and symlink to sites-enabled/
server {
listen 80;
server_name www.rommark.dev rommark.dev;
# Redirect HTTP to HTTPS (uncomment after SSL is configured)
# return 301 https://$server_name$request_uri;
# Obsidian Web Interface
location /claude {
proxy_pass http://localhost:3010;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
proxy_read_timeout 86400;
}
# Additional location for API routes
location /claude/api {
proxy_pass http://localhost:3010;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Static files
location /claude/css {
proxy_pass http://localhost:3010;
expires 1d;
add_header Cache-Control "public, immutable";
}
location /claude/js {
proxy_pass http://localhost:3010;
expires 1d;
add_header Cache-Control "public, immutable";
}
}
# HTTPS configuration (after SSL is configured with certbot)
# server {
# listen 443 ssl http2;
# server_name www.rommark.dev rommark.dev;
#
# ssl_certificate /etc/letsencrypt/live/www.rommark.dev/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/www.rommark.dev/privkey.pem;
# include /etc/letsencrypt/options-ssl-nginx.conf;
# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
#
# client_max_body_size 100M;
#
# location /claude {
# proxy_pass http://localhost:3010;
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection 'upgrade';
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_cache_bypass $http_upgrade;
# }
#
# location /claude/api {
# proxy_pass http://localhost:3010;
# proxy_http_version 1.1;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# }
# }