Copy stacks from entrance server

This commit is contained in:
ChenKaiLiuG
2025-12-04 10:53:28 +08:00
parent 21da4e0d0d
commit 0101e553a9
7 changed files with 135 additions and 30 deletions

31
stack/cloudflared+npm.yml Normal file
View File

@@ -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 底端

0
stack/dashboard.yml Normal file
View File

40
stack/ghost-forum.yml Normal file
View File

@@ -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:

View File

@@ -7,7 +7,7 @@ services:
restart: always restart: always
volumes: volumes:
- ollama-data:/root/.ollama - ollama-data:/root/.ollama
- /mnt/970_Containers/ollama_model:/ollama_models #主機的實體路徑(資料夾) - /mnt/data/External/ollama_model:/ollama_models
ports: ports:
- "11434:11434" - "11434:11434"
environment: environment:
@@ -17,7 +17,7 @@ services:
reservations: reservations:
devices: devices:
- driver: nvidia - driver: nvidia
count: 2 #視顯卡數量修改 count: 1
capabilities: [gpu] capabilities: [gpu]
open-webui: open-webui:
@@ -30,8 +30,6 @@ services:
- "9070:8080" - "9070:8080"
environment: environment:
- OLLAMA_BASE_URL=http://ollama:11434 - OLLAMA_BASE_URL=http://ollama:11434
networks:
- stack_bridge
ollama-monitor: ollama-monitor:
image: docker:cli image: docker:cli
@@ -47,7 +45,3 @@ services:
volumes: volumes:
ollama-data: ollama-data:
open-webui-data: open-webui-data:
networks:
stack_bridge:
external: true

View File

@@ -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

View File

@@ -7,36 +7,23 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
# GitHub OAuth 認證 # npm 層做基本認證code-server 再做一層密碼
OAUTH_CLIENT_ID: ${OAUTH_CLIENT_ID} PASSWORD: codeserver123
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
volumes: volumes:
# 程式碼目錄 # 全部在 code 目錄
- /mnt/data/External/code:/home/coder/project - /mnt/data/External/code/workspace:/home/coder/project
# VSCode 設定 - /mnt/data/External/code/config:/home/coder/.config
- code-server-config:/home/coder/.config - /mnt/data/External/code/cache:/home/coder/.cache
# 快取
- code-server-cache:/home/coder/.cache
ports: ports:
- "6800:8443" - "127.0.0.1:8443:8443"
networks: networks:
- webproxy - webproxy
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8443"] disable: true
interval: 30s
timeout: 10s
retries: 3
volumes:
code-server-config:
code-server-cache:
networks: networks:
webproxy: webproxy: