From 0101e553a9885225c752e66df4f2d952d0aa4ee6 Mon Sep 17 00:00:00 2001 From: ChenKaiLiuG Date: Thu, 4 Dec 2025 10:53:28 +0800 Subject: [PATCH] Copy stacks from entrance server --- stack/cloudflared+npm.yml | 31 ++++++++++++++++++ stack/dashboard.yml | 0 stack/ghost-forum.yml | 40 +++++++++++++++++++++++ stack/ollama-webui.yml | 12 ++----- stack/others/ollama-webui.yml | 53 +++++++++++++++++++++++++++++++ stack/{ => others}/vllm-webui.yml | 0 vs-code-server/vs-code-server.yml | 29 +++++------------ 7 files changed, 135 insertions(+), 30 deletions(-) create mode 100644 stack/cloudflared+npm.yml create mode 100644 stack/dashboard.yml create mode 100644 stack/ghost-forum.yml create mode 100644 stack/others/ollama-webui.yml rename stack/{ => others}/vllm-webui.yml (100%) diff --git a/stack/cloudflared+npm.yml b/stack/cloudflared+npm.yml new file mode 100644 index 0000000..3e9a619 --- /dev/null +++ b/stack/cloudflared+npm.yml @@ -0,0 +1,31 @@ +version: "3.9" + +services: + cloudflared: + image: cloudflare/cloudflared:latest + container_name: cloudflared + restart: unless-stopped + command: tunnel --no-autoupdate run --token eyJhIjoiYTNmZGEzMTE5ZWY3NWQ0ZDFmODMzMjhiMTdiNjQwZjAiLCJ0IjoiNWUxNDkxMjItZjZkOC00ZTdiLTk4Y2EtOWMyZGJmZGVlZjYxIiwicyI6IlptWTJNREF4Wm1RdE5Ua3dNaTAwTURBM0xUazVNemt0TkRreE1tRXlaRFV5TlRaayJ9 + volumes: + - /opt/cloudflare/cloudflared:/etc/cloudflared + + npm: + image: jc21/nginx-proxy-manager:latest + container_name: npm + restart: unless-stopped + ports: + - "80:80" + - "81:81" + - "443:443" + volumes: + - /opt/cloudflare/npm/data:/data + - /opt/cloudflare/npm/letsencrypt:/etc/letsencrypt + + filebrowser: + image: filebrowser/filebrowser:latest + container_name: filebrowser + restart: unless-stopped + ports: + - "8080:80" + volumes: + - /opt/cloudflare/files:/srv 31,17 底端 \ No newline at end of file diff --git a/stack/dashboard.yml b/stack/dashboard.yml new file mode 100644 index 0000000..e69de29 diff --git a/stack/ghost-forum.yml b/stack/ghost-forum.yml new file mode 100644 index 0000000..5d08518 --- /dev/null +++ b/stack/ghost-forum.yml @@ -0,0 +1,40 @@ +version: '3.9' + +services: + ghost: + image: ghost:5-alpine + container_name: ghost + restart: always + environment: + url: ${GHOST_URL} + database__client: mysql + database__connection__host: db + database__connection__user: root + # 從 .env 檔案中讀取密碼 + database__connection__password: ${MYSQL_ROOT_PASSWORD} + database__connection__database: ghost + mail__transport: SMTP + mail__options__service: Gmail + mail__options__auth__user: ${MAIL_ADDRESS} # 你的郵箱@gmail.com + mail__options__auth__pass: ${MAIL_PASSWORD} # 應用程式專用密碼 + # NODE_ENV: production + TRUST_PROXY: 1 # ← 告訴 Ghost 代理存在,使用 X-Forwarded-Proto 判斷 HTTPS + + volumes: + - /mnt/data/External/ghost_forum_data/content:/var/lib/ghost/content + depends_on: + - db + + db: + image: mysql:8.0 + container_name: ghost_db + restart: always + environment: + # 從 .env 檔案中讀取密碼 + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_DATABASE: ghost + volumes: + - ghost_forum_db:/var/lib/mysql + +volumes: + ghost_forum_db: diff --git a/stack/ollama-webui.yml b/stack/ollama-webui.yml index 539acc8..ef6c6ed 100644 --- a/stack/ollama-webui.yml +++ b/stack/ollama-webui.yml @@ -7,7 +7,7 @@ services: restart: always volumes: - ollama-data:/root/.ollama - - /mnt/970_Containers/ollama_model:/ollama_models #主機的實體路徑(資料夾) + - /mnt/data/External/ollama_model:/ollama_models ports: - "11434:11434" environment: @@ -17,7 +17,7 @@ services: reservations: devices: - driver: nvidia - count: 2 #視顯卡數量修改 + count: 1 capabilities: [gpu] open-webui: @@ -30,8 +30,6 @@ services: - "9070:8080" environment: - OLLAMA_BASE_URL=http://ollama:11434 - networks: - - stack_bridge ollama-monitor: image: docker:cli @@ -46,8 +44,4 @@ services: volumes: ollama-data: - open-webui-data: - -networks: - stack_bridge: - external: true + open-webui-data: \ No newline at end of file diff --git a/stack/others/ollama-webui.yml b/stack/others/ollama-webui.yml new file mode 100644 index 0000000..539acc8 --- /dev/null +++ b/stack/others/ollama-webui.yml @@ -0,0 +1,53 @@ +version: '3.8' + +services: + ollama: + container_name: ollama + image: ollama/ollama:latest + restart: always + volumes: + - ollama-data:/root/.ollama + - /mnt/970_Containers/ollama_model:/ollama_models #主機的實體路徑(資料夾) + ports: + - "11434:11434" + environment: + - OLLAMA_BASE_URL=http://ollama:11434 + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 2 #視顯卡數量修改 + capabilities: [gpu] + + open-webui: + container_name: open-webui + image: ghcr.io/open-webui/open-webui:main + restart: always + volumes: + - open-webui-data:/app/backend/data + ports: + - "9070:8080" + environment: + - OLLAMA_BASE_URL=http://ollama:11434 + networks: + - stack_bridge + + ollama-monitor: + image: docker:cli + container_name: ollama-monitor + restart: always + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /mnt/data/External/ollama_monitor/monitor.sh:/monitor.sh:ro + entrypoint: ["/bin/sh", "/monitor.sh"] + depends_on: + - ollama + +volumes: + ollama-data: + open-webui-data: + +networks: + stack_bridge: + external: true diff --git a/stack/vllm-webui.yml b/stack/others/vllm-webui.yml similarity index 100% rename from stack/vllm-webui.yml rename to stack/others/vllm-webui.yml diff --git a/vs-code-server/vs-code-server.yml b/vs-code-server/vs-code-server.yml index 0c8cbde..cfd2ddf 100644 --- a/vs-code-server/vs-code-server.yml +++ b/vs-code-server/vs-code-server.yml @@ -7,36 +7,23 @@ services: restart: unless-stopped environment: - # GitHub OAuth 認證 - OAUTH_CLIENT_ID: ${OAUTH_CLIENT_ID} - OAUTH_CLIENT_SECRET: ${OAUTH_CLIENT_SECRET} - OAUTH_AUTHORIZE_URL: https://github.com/login/oauth/authorize - OAUTH_TOKEN_URL: https://github.com/login/oauth/access_token - OAUTH_USER_ID_TOKEN_CLAIM: login + # npm 層做基本認證,code-server 再做一層密碼 + PASSWORD: codeserver123 volumes: - # 程式碼目錄 - - /mnt/data/External/code:/home/coder/project - # VSCode 設定 - - code-server-config:/home/coder/.config - # 快取 - - code-server-cache:/home/coder/.cache + # 全部在 code 目錄下 + - /mnt/data/External/code/workspace:/home/coder/project + - /mnt/data/External/code/config:/home/coder/.config + - /mnt/data/External/code/cache:/home/coder/.cache ports: - - "6800:8443" + - "127.0.0.1:8443:8443" networks: - webproxy healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8443"] - interval: 30s - timeout: 10s - retries: 3 - -volumes: - code-server-config: - code-server-cache: + disable: true networks: webproxy: