8b48617bb7
- 修复deploy.sh中的关键问题: - 删除本地创建远程目录的错误代码 - 修复SCP目标路径错误 - 修复grep中的变量展开问题 - 修复容器日志查看命令 - 实现健康检查机制替代硬编码等待时间 - 添加SSH连接验证 - 添加cron任务配置的错误处理 - 添加运维告警邮箱环境变量OPS_ALERT_EMAIL - 更新部署文档,添加SSL证书自动续期详细说明
46 lines
1.0 KiB
YAML
46 lines
1.0 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
novalon-website:
|
|
image: node:18-alpine
|
|
container_name: novalon-website
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
restart: unless-stopped
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PORT=3000
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
|
|
- NEXTAUTH_URL=${NEXTAUTH_URL}
|
|
- RESEND_API_KEY=${RESEND_API_KEY}
|
|
- OPS_ALERT_EMAIL=${OPS_ALERT_EMAIL:-ops@novalon.cn}
|
|
volumes:
|
|
- ./public:/app/public
|
|
- ./node_modules:/app/node_modules
|
|
- .next:/app/.next
|
|
networks:
|
|
- novalon-network
|
|
depends_on:
|
|
- nginx
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: novalon-nginx
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
|
- ./ssl:/etc/nginx/ssl:ro
|
|
- ./logs/nginx:/var/log/nginx
|
|
networks:
|
|
- novalon-network
|
|
depends_on:
|
|
- novalon-website
|
|
|
|
networks:
|
|
novalon-network:
|
|
driver: bridge |