feat:打包镜像 以及 相关说明文档
This commit is contained in:
14
.env.production
Normal file
14
.env.production
Normal file
@@ -0,0 +1,14 @@
|
||||
# 生产环境配置 - 复制到服务器的 /amos/memory/.env
|
||||
|
||||
# JWT 密钥 (请修改为随机字符串)
|
||||
JWT_SECRET=memory-app-jwt-secret-2025
|
||||
|
||||
# 服务器公网地址
|
||||
BASE_URL=https://x.amos.us.kg
|
||||
|
||||
# Cloudflare R2
|
||||
R2_ACCOUNT_ID=ebf33b5ee4eb26f32af0c6e06102e000
|
||||
R2_ACCESS_KEY_ID=8acbc8a9386d60d0e8dac6bd8165c618
|
||||
R2_ACCESS_KEY_SECRET=72935e23b5b4be8fda99008e75285e8ac778f8926656c42780b25785bb149443
|
||||
R2_BUCKET_NAME=memory
|
||||
R2_PUBLIC_URL=
|
||||
80
DEPLOY.md
Normal file
80
DEPLOY.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# Memory Server 部署指南
|
||||
|
||||
## 本地构建镜像
|
||||
|
||||
```bash
|
||||
# 进入 server 目录
|
||||
cd server
|
||||
|
||||
# 构建 linux/amd64 镜像
|
||||
docker build --platform linux/amd64 -t memory-server:latest .
|
||||
|
||||
# 导出为 tar 文件
|
||||
docker save memory-server:latest -o memory-server.tar
|
||||
```
|
||||
|
||||
## 上传到服务器
|
||||
|
||||
```bash
|
||||
# 上传镜像和配置文件
|
||||
scp memory-server.tar user@your-server:/amos/memory/
|
||||
scp docker-compose.yml user@your-server:/amos/memory/
|
||||
scp .env.production user@your-server:/amos/memory/.env
|
||||
```
|
||||
|
||||
## 服务器部署
|
||||
|
||||
```bash
|
||||
# SSH 登录服务器
|
||||
ssh user@your-server
|
||||
|
||||
# 进入项目目录
|
||||
cd /amos/memory
|
||||
|
||||
# 创建数据目录
|
||||
mkdir -p data
|
||||
|
||||
# 加载镜像
|
||||
docker load -i memory-server.tar
|
||||
|
||||
# 启动服务
|
||||
docker compose up -d
|
||||
|
||||
# 查看日志
|
||||
docker compose logs -f
|
||||
|
||||
# 删除镜像文件(可选)
|
||||
rm memory-server.tar
|
||||
```
|
||||
|
||||
## 常用命令
|
||||
|
||||
```bash
|
||||
# 查看状态
|
||||
docker compose ps
|
||||
|
||||
# 重启服务
|
||||
docker compose restart
|
||||
|
||||
# 停止服务
|
||||
docker compose down
|
||||
|
||||
# 查看日志
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## 更新部署
|
||||
|
||||
本地重新构建镜像后:
|
||||
|
||||
```bash
|
||||
# 本地
|
||||
docker save memory-server:latest -o memory-server.tar
|
||||
scp memory-server.tar user@your-server:/amos/memory/
|
||||
|
||||
# 服务器
|
||||
cd /amos/memory
|
||||
docker compose down
|
||||
docker load -i memory-server.tar
|
||||
docker compose up -d
|
||||
```
|
||||
@@ -16,7 +16,7 @@ android {
|
||||
versionCode = 1
|
||||
versionName = "1.0.0"
|
||||
|
||||
buildConfigField("String", "API_BASE_URL", "\"http://192.168.0.100:8080/api/\"")
|
||||
buildConfigField("String", "API_BASE_URL", "\"https://x.amos.us.kg/api/\"")
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
|
||||
@@ -2,17 +2,20 @@ version: '3.8'
|
||||
|
||||
services:
|
||||
memory:
|
||||
build: ./server
|
||||
image: memory-server:latest
|
||||
# build: ./server
|
||||
container_name: memory-server
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "6600:8080"
|
||||
volumes:
|
||||
- ./data:/app/data
|
||||
environment:
|
||||
- SERVER_ADDR=:8080
|
||||
- DB_PATH=/app/data/memory.db
|
||||
- JWT_SECRET=${JWT_SECRET:-change-me-in-production}
|
||||
- BASE_URL=${BASE_URL:-http://localhost:8080}
|
||||
- LOCAL_UPLOAD_PATH=
|
||||
- R2_ACCOUNT_ID=${R2_ACCOUNT_ID}
|
||||
- R2_ACCESS_KEY_ID=${R2_ACCESS_KEY_ID}
|
||||
- R2_ACCESS_KEY_SECRET=${R2_ACCESS_KEY_SECRET}
|
||||
|
||||
@@ -1,17 +1,21 @@
|
||||
FROM golang:1.21-alpine AS builder
|
||||
FROM --platform=linux/amd64 golang:1.21-alpine AS builder
|
||||
|
||||
RUN apk add --no-cache gcc musl-dev sqlite-dev
|
||||
|
||||
WORKDIR /app
|
||||
COPY go.mod go.sum ./
|
||||
RUN go mod download
|
||||
|
||||
COPY . .
|
||||
RUN CGO_ENABLED=1 GOOS=linux go build -a -installsuffix cgo -o memory .
|
||||
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o memory-server .
|
||||
|
||||
FROM alpine:latest
|
||||
RUN apk --no-cache add ca-certificates sqlite
|
||||
FROM --platform=linux/amd64 alpine:latest
|
||||
RUN apk --no-cache add ca-certificates sqlite-libs
|
||||
|
||||
WORKDIR /app
|
||||
COPY --from=builder /app/memory .
|
||||
COPY --from=builder /app/memory-server .
|
||||
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
EXPOSE 8080
|
||||
CMD ["./memory"]
|
||||
CMD ["./memory-server"]
|
||||
|
||||
Reference in New Issue
Block a user