ece3c86e29
- 创建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号
45 lines
983 B
YAML
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 |