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号
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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
|
||||
Reference in New Issue
Block a user