docker compose 部署 RustDesk 全套

参考链接

1. 参考链接

内容摘录

  1. 使用Docker-compose部署

    networks:
      rustdesk-net:
     external: false
    services:
      hbbs:
     container_name: hbbs
     ports:
       - 21115:21115
       - 21116:21116
       - 21116:21116/udp
       - 21118:21118
     image: rustdesk/rustdesk-server
     command: hbbs -r <server[:21117]> -k <key>
     volumes:
       - /data/rustdesk/server:/root
     networks:
       - rustdesk-net
     depends_on:
       - hbbr
     restart: unless-stopped
     deploy:
       resources:
         limits:
           memory: 64M
      hbbr:
     container_name: hbbr
     ports:
       - 21117:21117 # 自定义 hbbr 映射端口
       - 21119:21119 # web client
     image: rustdesk/rustdesk-server
     command: hbbr -k <key>
     volumes:
       - /data/rustdesk/server:/root
     networks:
       - rustdesk-net
     restart: unless-stopped
     deploy:
       resources:
         limits:
           memory: 64M
      rustdesk-api:
     container_name: rustdesk-api
     environment:
       - TZ=Asia/Shanghai
       - RUSTDESK_API_RUSTDESK_ID_SERVER=<server[:21116]>
       - RUSTDESK_API_RUSTDESK_RELAY_SERVER=<server[:21117]>
       - RUSTDESK_API_RUSTDESK_API_SERVER=http://<server[:21114]>
       #- RUSTDESK_API_RUSTDESK_KEY=<key>
     ports:
       - 21114:21114
     image: lejianwen/rustdesk-api
     volumes:
       - /data/rustdesk/api:/app/data #将数据库挂载出来方便备份
       - /data/rustdesk/server:/app/conf/data #挂载key文件到api容器,可以不用使用 RUSTDESK_API_RUSTDESK_KEY
     networks:
       - rustdesk-net
     restart: unless-stopped
     depends_on:
       - hbbs
       - hbbr
  2. Http 反代

    server {
     server_name <server>;
     listen 80;
     location / {
         proxy_set_header        X-Real-IP       $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_pass http://rustdesk-api:21114/;
     }
    }
    
    server {
     listen 21118; 
     server_name <server>;
     location / {
         proxy_pass http://rustdesk-server:21118;
         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;
     }
    }
    
    server {
     listen 21119;
     server_name <server>;
     location / {
         proxy_pass http://rustdesk-server:21119;
         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;
     }
    }
  3. Https 反代

    server {
     server_name <server>;
     listen 443 ssl;
     #listen 4443 ssl; #你自己的端口
     ssl_certificate /etc/nginx/ssl/<server>/fullchain.pem; 
     ssl_certificate_key /etc/nginx/ssl/<server>/privkey.pem; 
     location / {
         proxy_set_header        X-Real-IP       $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_pass http://rustdesk-api:21114/;
     }
    
     location /ws/id {
         proxy_pass http://rustdesk-server:21118;
         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;
     }
    
     location /ws/relay {
         proxy_pass http://rustdesk-server:21119;
         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;
     }
    
    }
    
    server {
     if ($host = <server>) {
         return 301 https://$host$request_uri;
     }
    
     server_name <server>;
     listen 80;
     return 404; 
    }

评论已关闭