# 构建镜像前在 Windows 执行: dist\build-linux-amd64.bat # 再放入 dist/mengyastore-backend-linux-amd64 后构建(服务器仅需 Docker,无需 Go) # # 与本地 dev.bat 使用同一套库: # - Compose 会自动读取本目录下的 .env(若存在),用于 ${VAR} 替换并传入容器。 # - 将本地 mengyastore-backend-go/.env.development 复制到服务器本目录,命名为 .env; # 或至少设置与开发机相同的 DATABASE_DSN。 # - 默认 APP_ENV=development:与 go run 且未设 APP_ENV 时一致(空 DSN → 代码内 TestDSN)。 # 正式上生产请在 .env 中写 APP_ENV=production。 # # 前端「样式和本地 npm run dev 不一样」:部署一般是 npm run build 的产出,经 Nginx 缓存; # 换文案/样式后需重新构建前端并强刷或清理 Service Worker(PWA)。 services: backend: build: context: . container_name: mengyastore-backend ports: - "28081:8080" environment: APP_ENV: ${APP_ENV:-development} GIN_MODE: ${GIN_MODE:-release} TZ: Asia/Shanghai DATABASE_DSN: ${DATABASE_DSN:-} ADMIN_TOKEN: ${ADMIN_TOKEN:-changeme} AUTH_API_URL: ${AUTH_API_URL:-} REDIS_ENABLED: "false" REDIS_ADDR: ${REDIS_ADDR:-127.0.0.1:6379} REDIS_PASSWORD: ${REDIS_PASSWORD:-} REDIS_DB: ${REDIS_DB:-1} RABBITMQ_ENABLED: "false" RABBITMQ_ENV: ${RABBITMQ_ENV:-dev} RABBITMQ_URL: ${RABBITMQ_URL:-} restart: unless-stopped