This page documents concrete production settings for a self-hosted Theia deployment.
Main focus: secure browser IDE access, workspace persistence, extension governance, and stable upgrades.
Most deployments run Theia as a Node.js service or container with env-based configuration.
Example environment file:
THEIA_HOST=127.0.0.1
THEIA_PORT=3000
THEIA_DEFAULT_PLUGINS=local-dir:/opt/theia/plugins
THEIA_WEBVIEW_EXTERNAL_ENDPOINT={{hostname}}
NODE_ENV=production
# custom startup options
# THEIA_WORKSPACE_ROOT=/srv/theia/workspaces
# THEIA_MINI_BROWSER_HOST_PATTERN={{uuid}}.mini-browser.{{hostname}}
Notes:
Nginx example:
server {
listen 443 ssl http2;
server_name theia.example.com;
ssl_certificate /etc/letsencrypt/live/theia.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/theia.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3000;
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-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Back up:
/srv/theia/workspaces or equivalent)/opt/theia/plugins)Recovery drill:
systemd/container restart).Feel free to contact us. Find all contact information on our contact page.