Files
novalon-website/docker-compose.yml
T
张翔 ece3c86e29 feat: 添加Docker部署配置和文档
- 创建docker-compose.yml多容器编排配置
- 创建Dockerfile多阶段构建配置
- 创建nginx.conf反向代理和SSL配置
- 创建.env.example环境变量示例文件
- 创建setup-ssl.sh SSL证书配置脚本
- 创建deploy.sh自动化部署脚本
- 创建DEPLOYMENT.md详细部署文档
- 配置容器名称为novalon-website,版本1.0.0
- 配置端口映射80和443
- 配置Let's Encrypt免费SSL证书
- 配置域名novalon.cn,服务器IP 139.155.109.62
- 配置ICP备案号:蜀ICP备2026013658号
2026-03-26 19:27:18 +08:00

45 lines
983 B
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}
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