first commit
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name mcp.example.com;
|
||||
|
||||
location ^~ /.well-known/acme-challenge/ {
|
||||
root /var/www/html;
|
||||
}
|
||||
|
||||
location / {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
http2 on;
|
||||
server_name mcp.example.com;
|
||||
|
||||
ssl_certificate /etc/letsencrypt/live/mcp.example.com/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/mcp.example.com/privkey.pem;
|
||||
|
||||
client_max_body_size 8m;
|
||||
|
||||
location = /mcp {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
proxy_read_timeout 24h;
|
||||
proxy_send_timeout 24h;
|
||||
}
|
||||
|
||||
location ^~ /.well-known/ {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_cache off;
|
||||
}
|
||||
|
||||
location ~ ^/(authorize|token|register|revoke)$ {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_cache off;
|
||||
}
|
||||
|
||||
location = /health {
|
||||
proxy_pass http://127.0.0.1:3000/health;
|
||||
proxy_set_header Host $host;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
MCP_HOST=127.0.0.1
|
||||
MCP_PORT=3000
|
||||
MCP_ENDPOINT=/mcp
|
||||
MCP_PUBLIC_URL=https://mcp.example.com
|
||||
MCP_ALLOWED_HOSTS=mcp.example.com,127.0.0.1,localhost
|
||||
MCP_AUTH_TOKEN=replace-with-a-long-random-token
|
||||
MCP_ALLOW_NO_AUTH=false
|
||||
MCP_OAUTH_ENABLED=true
|
||||
MCP_OAUTH_ISSUER=https://mcp.example.com
|
||||
MCP_OAUTH_RESOURCE=https://mcp.example.com/mcp
|
||||
MCP_OAUTH_STATE_FILE=/var/lib/remote-dev-mcp/oauth-state.json
|
||||
MCP_OAUTH_ACCESS_TOKEN_TTL_SECONDS=3600
|
||||
MCP_OAUTH_REFRESH_TOKEN_TTL_SECONDS=2592000
|
||||
MCP_OAUTH_AUTHORIZATION_CODE_TTL_SECONDS=300
|
||||
MCP_DEFAULT_CWD=/root
|
||||
MCP_DEFAULT_SHELL=/bin/bash
|
||||
MCP_MAX_REQUEST_BODY=8mb
|
||||
MCP_MAX_OUTPUT_BYTES=1048576
|
||||
MCP_MAX_RETAINED_PROCESS_OUTPUT_BYTES=4194304
|
||||
MCP_PROCESS_RETENTION_MS=3600000
|
||||
MCP_MAX_PROCESSES=128
|
||||
MCP_SESSION_TTL_MS=86400000
|
||||
MCP_MAX_FILE_CHUNK_BYTES=1048576
|
||||
MCP_MAX_EDIT_FILE_BYTES=67108864
|
||||
@@ -0,0 +1,20 @@
|
||||
[Unit]
|
||||
Description=cokacremote MCP Server
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
Group=root
|
||||
WorkingDirectory=/opt/remote-dev-mcp
|
||||
EnvironmentFile=/etc/remote-dev-mcp.env
|
||||
ExecStart=/usr/bin/node /opt/remote-dev-mcp/dist/src/server.js
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
KillMode=control-group
|
||||
TimeoutStopSec=20
|
||||
LimitNOFILE=65535
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user