Repository navigation
Expand file tree
/
Copy pathdocker-compose.https.yml
More file actions
51 lines (48 loc) · 2.13 KB
/
Copy pathdocker-compose.https.yml
File metadata and controls
51 lines (48 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
version: '3'
# 内置HTTPS版本,先按README配置私有.env(含Turnstile)。
# 自签证书只用于本地测试;真实验证仍需Cloudflare允许实际hostname。
#
# 使用方法:
# 局域网(自动生成证书):
# 1. 设置 CERT_DOMAIN 为你的 IP 或域名
# 2. docker-compose -f docker-compose.https.yml up -d
# 3. 访问 https://你的IP:443
# 4. 首次访问点击"高级→继续"
#
# 自定义证书:
# 1. 将 cert.pem 和 key.pem 放入 ./certs 目录
# 2. docker-compose -f docker-compose.https.yml up -d
#
# 公网 + Let's Encrypt:
# 1. 先用 certbot 获取证书
# 2. 复制证书到 ./certs 目录
# 3. docker-compose -f docker-compose.https.yml up -d
services:
solvnote:
image: ghcr.io/yumumao/solvnote:latest
container_name: solvnote
restart: always
ports:
- "80:3000" # HTTP(可选)
- "443:443" # HTTPS
environment:
# 从私有.env读取;也可使用docker compose --env-file .env.solvnote。
# 本分支登录/注册强制Turnstile,必须先在Cloudflare允许实际hostname。
- NEXTAUTH_URL=${NEXTAUTH_URL:?Set the canonical site URL}
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET:?Set a strong persistent session secret}
- DATABASE_URL=file:/app/data/dev.db
- INITIAL_ADMIN_EMAIL=${INITIAL_ADMIN_EMAIL:-admin@localhost}
# 仅新库必需,旧管理员不会被此变量重置。
- INITIAL_ADMIN_PASSWORD=${INITIAL_ADMIN_PASSWORD:-}
- SOLVNOTE_TURNSTILE_SITE_KEY=${SOLVNOTE_TURNSTILE_SITE_KEY:?Set the Turnstile site key}
- SOLVNOTE_TURNSTILE_SECRET_KEY=${SOLVNOTE_TURNSTILE_SECRET_KEY:?Set the server-only Turnstile secret}
- SOLVNOTE_TURNSTILE_HOSTNAMES=${SOLVNOTE_TURNSTILE_HOSTNAMES:-}
- SOLVNOTE_ENABLE_AI_CONFIG_EXPORT=${SOLVNOTE_ENABLE_AI_CONFIG_EXPORT:-false}
- SOLVNOTE_TRUST_PROXY_HEADERS=${SOLVNOTE_TRUST_PROXY_HEADERS:-false}
- HTTPS_ENABLED=true
- CERT_DOMAIN=${CERT_DOMAIN:?Set the certificate hostname}
volumes:
- ./data:/app/data
- ./config:/app/config
# 证书目录(自动生成或手动放入)
- ./certs:/app/certs