Files
Reactive_Resume/packages/reactive-resume-clean-install/compose-Nas.yml

98 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Reactive Resume / QNAP QTS 纯净模板。
# 使用前请填写:
# - NAS 数据目录,例如 /share/Container/Reactive_Resume
# - APP_URL例如 https://resume.example.com
# - 本地访问端口,例如 3004
# - PostgreSQL 密码、AUTH_SECRET、ENCRYPTION_SECRET
# - FRP serverAddr/serverPort/token/proxy name/remotePort
name: reactive-resume-nas
services:
reactive_resume_permissions:
image: alpine:3.20
restart: "no"
command: ["sh", "-c", "mkdir -p /app/data && chown -R 1000:1000 /app/data"]
volumes:
# 待填写:改成你的 NAS 数据目录。
- /share/Container/CHANGE_ME_REACTIVE_RESUME/data/uploads:/app/data
reactive_resume_db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: reactive_resume
POSTGRES_USER: reactive_resume
POSTGRES_PASSWORD: CHANGE_ME_POSTGRES_PASSWORD
volumes:
# 待填写:改成你的 NAS 数据目录。
- /share/Container/CHANGE_ME_REACTIVE_RESUME/data/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U reactive_resume -d reactive_resume"]
interval: 10s
timeout: 5s
retries: 10
reactive_resume_app:
image: amruthpillai/reactive-resume@sha256:b760446c4301af067e7d595537a877e378363aa6ce921b7349e62983621826aa
restart: unless-stopped
depends_on:
reactive_resume_permissions:
condition: service_completed_successfully
reactive_resume_db:
condition: service_healthy
ports:
# 待填写NAS 本地访问端口。
- "CHANGE_ME_LOCAL_APP_PORT:3000"
volumes:
# 待填写:改成你的 NAS 数据目录。
- /share/Container/CHANGE_ME_REACTIVE_RESUME/data/uploads:/app/data
environment:
TZ: Asia/Shanghai
APP_URL: https://YOUR_DOMAIN.example.com
DATABASE_URL: postgresql://reactive_resume:CHANGE_ME_POSTGRES_PASSWORD@reactive_resume_db:5432/reactive_resume
AUTH_SECRET: CHANGE_ME_64_HEX_AUTH_SECRET
ENCRYPTION_SECRET: CHANGE_ME_64_HEX_ENCRYPTION_SECRET
SMTP_FROM: Reactive Resume <noreply@YOUR_DOMAIN.example.com>
SMTP_PORT: "587"
SMTP_SECURE: "false"
FLAG_DISABLE_SIGNUPS: "false"
FLAG_DISABLE_EMAIL_AUTH: "false"
FLAG_DISABLE_IMAGE_PROCESSING: "false"
FLAG_ALLOW_UNSAFE_AI_BASE_URL: "false"
healthcheck:
test: ["CMD-SHELL", "node -e \"fetch('http://127.0.0.1:3000/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""]
interval: 30s
timeout: 10s
retries: 8
start_period: 30s
reactive_resume_frpc:
image: fatedier/frpc:v0.68.0
restart: unless-stopped
entrypoint: ["/bin/sh"]
command:
- -c
- |
cat > /tmp/frpc.toml <<'EOF'
serverAddr = "YOUR_FRP_SERVER_IP_OR_DOMAIN"
serverPort = CHANGE_ME_FRP_SERVER_PORT
auth.method = "token"
auth.token = "CHANGE_ME_FRP_TOKEN"
transport.poolCount = 5
transport.heartbeatTimeout = -1
[[proxies]]
name = "CHANGE_ME_PROXY_NAME"
type = "tcp"
localIP = "reactive_resume_app"
localPort = 3000
remotePort = CHANGE_ME_REMOTE_PORT
EOF
exec frpc -c /tmp/frpc.toml
depends_on:
reactive_resume_app:
condition: service_healthy