compose.desktops.yaml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. # Generated from compose.yaml and deploy/compose-desktops.json.
  2. name: hermes-yaoyao
  3. services:
  4. web:
  5. build:
  6. context: .
  7. dockerfile: Dockerfile
  8. image: "${HERMES_YAOYAO_IMAGE:-yaoyao:local}"
  9. restart: unless-stopped
  10. init: true
  11. read_only: true
  12. security_opt:
  13. - no-new-privileges:true
  14. cap_drop:
  15. - ALL
  16. ports:
  17. - "${HERMES_YAOYAO_BIND_ADDRESS:-127.0.0.1}:${HERMES_YAOYAO_PUBLISHED_PORT:-15300}:15300"
  18. extra_hosts:
  19. - "host.docker.internal:host-gateway"
  20. environment:
  21. NODE_ENV: production
  22. HERMES_YAOYAO_HOST: 0.0.0.0
  23. HERMES_YAOYAO_PORT: 15300
  24. HERMES_YAOYAO_UPSTREAM: "${HERMES_YAOYAO_UPSTREAM:-http://host.docker.internal:9119}"
  25. # Permit localhost access when the published host port differs from the
  26. # container's fixed 15300 port; configured public host names remain opt-in.
  27. HERMES_YAOYAO_ALLOWED_HOSTS: "localhost,127.0.0.1,${HERMES_YAOYAO_ALLOWED_HOSTS:-}"
  28. HERMES_YAOYAO_ALLOW_INSECURE_LAN: "1"
  29. HERMES_YAOYAO_SUPERVISE_DASHBOARD: "0"
  30. HERMES_YAOYAO_LOCAL_VM_HOST: "runner"
  31. HERMES_YAOYAO_COMPOSE_DESKTOPS: "[{\"id\":\"160fe7cd-e530-4ac5-a97f-26c19a362b11\",\"name\":\"共享桌面 1\",\"socketPath\":\"/run/yaoyao-desktops/desktop-1/desktop.sock\",\"networkSocketPath\":\"/run/yaoyao-networks/desktop-1/gateway.sock\",\"imageKey\":\"standard\"},{\"id\":\"eba5caaf-744e-4f27-bcdd-1f1f35d05a42\",\"name\":\"共享桌面 2\",\"socketPath\":\"/run/yaoyao-desktops/desktop-2/desktop.sock\",\"networkSocketPath\":\"/run/yaoyao-networks/desktop-2/gateway.sock\",\"imageKey\":\"standard\"}]"
  32. HERMES_YAOYAO_CHAT_CACHE_MODE: "${HERMES_YAOYAO_CHAT_CACHE_MODE:-prefer-local}"
  33. HERMES_YAOYAO_RELEASE_SOURCE: "${HERMES_YAOYAO_RELEASE_SOURCE:-https://github.com/Lsamien/yaoyao.git}"
  34. HERMES_YAOYAO_HOME: /home/node/.yaoyao
  35. HERMES_YAOYAO_APNS_KEY_FILE: "${HERMES_YAOYAO_APNS_KEY_FILE:-}"
  36. HERMES_YAOYAO_APNS_KEY_ID: "${HERMES_YAOYAO_APNS_KEY_ID:-}"
  37. HERMES_YAOYAO_APNS_TEAM_ID: "${HERMES_YAOYAO_APNS_TEAM_ID:-}"
  38. HERMES_YAOYAO_APNS_TOPIC: "${HERMES_YAOYAO_APNS_TOPIC:-}"
  39. volumes:
  40. - yaoyao-data:/home/node/.yaoyao
  41. - desktop-1-ipc:/run/yaoyao-desktops/desktop-1:ro
  42. - desktop-1-network-ipc:/run/yaoyao-networks/desktop-1:ro
  43. - desktop-2-ipc:/run/yaoyao-desktops/desktop-2:ro
  44. - desktop-2-network-ipc:/run/yaoyao-networks/desktop-2:ro
  45. tmpfs:
  46. - /tmp:mode=1777
  47. desktop-1:
  48. image: "${YAOYAO_DESKTOP_IMAGE:-hermes-yaoyao-desktop:0.4.0}"
  49. build:
  50. context: ./deploy/computer
  51. dockerfile: Dockerfile
  52. init: true
  53. restart: unless-stopped
  54. network_mode: "service:desktop-1-network"
  55. depends_on:
  56. desktop-1-network:
  57. condition: service_started
  58. shm_size: 512m
  59. mem_limit: 4g
  60. cpus: 2
  61. pids_limit: 512
  62. cap_drop:
  63. - ALL
  64. cap_add:
  65. - SETUID
  66. - SETGID
  67. - CHOWN
  68. - KILL
  69. environment:
  70. YAOYAO_COMPOSE_DESKTOP_ID: "160fe7cd-e530-4ac5-a97f-26c19a362b11"
  71. volumes:
  72. - desktop-1-workspace:/home/cua/workspace
  73. - desktop-1-ipc:/run/yaoyao-private/bridge
  74. desktop-1-network:
  75. image: localhost/yaoyao/network:1
  76. build:
  77. context: ./deploy/computer
  78. dockerfile: Dockerfile.network
  79. command: ["--init", "--socket"]
  80. init: true
  81. restart: unless-stopped
  82. network_mode: none
  83. dns: ["198.18.0.1"]
  84. read_only: true
  85. cap_drop: ["ALL"]
  86. cap_add: ["NET_ADMIN"]
  87. devices: ["/dev/net/tun:/dev/net/tun"]
  88. mem_limit: 128m
  89. pids_limit: 64
  90. environment:
  91. YAOYAO_COMPOSE_DESKTOP_ID: "160fe7cd-e530-4ac5-a97f-26c19a362b11"
  92. volumes:
  93. - desktop-1-network-ipc:/run/yaoyao-network
  94. desktop-2:
  95. image: "${YAOYAO_DESKTOP_IMAGE:-hermes-yaoyao-desktop:0.4.0}"
  96. build:
  97. context: ./deploy/computer
  98. dockerfile: Dockerfile
  99. init: true
  100. restart: unless-stopped
  101. network_mode: "service:desktop-2-network"
  102. depends_on:
  103. desktop-2-network:
  104. condition: service_started
  105. shm_size: 512m
  106. mem_limit: 4g
  107. cpus: 2
  108. pids_limit: 512
  109. cap_drop:
  110. - ALL
  111. cap_add:
  112. - SETUID
  113. - SETGID
  114. - CHOWN
  115. - KILL
  116. environment:
  117. YAOYAO_COMPOSE_DESKTOP_ID: "eba5caaf-744e-4f27-bcdd-1f1f35d05a42"
  118. volumes:
  119. - desktop-2-workspace:/home/cua/workspace
  120. - desktop-2-ipc:/run/yaoyao-private/bridge
  121. desktop-2-network:
  122. image: localhost/yaoyao/network:1
  123. build:
  124. context: ./deploy/computer
  125. dockerfile: Dockerfile.network
  126. command: ["--init", "--socket"]
  127. init: true
  128. restart: unless-stopped
  129. network_mode: none
  130. dns: ["198.18.0.1"]
  131. read_only: true
  132. cap_drop: ["ALL"]
  133. cap_add: ["NET_ADMIN"]
  134. devices: ["/dev/net/tun:/dev/net/tun"]
  135. mem_limit: 128m
  136. pids_limit: 64
  137. environment:
  138. YAOYAO_COMPOSE_DESKTOP_ID: "eba5caaf-744e-4f27-bcdd-1f1f35d05a42"
  139. volumes:
  140. - desktop-2-network-ipc:/run/yaoyao-network
  141. volumes:
  142. yaoyao-data:
  143. desktop-1-workspace:
  144. desktop-1-ipc:
  145. desktop-1-network-ipc:
  146. desktop-2-workspace:
  147. desktop-2-ipc:
  148. desktop-2-network-ipc: