1 Commits
master ... test

Author SHA1 Message Date
d06f2d9df1 feat: update docker 2025-12-17 21:40:18 +08:00
6 changed files with 44 additions and 30 deletions

View File

@@ -1,6 +1,5 @@
# Build stage
FROM crpi-8s2ierii2xan4klg.cn-beijing.personal.cr.aliyuncs.com/texpixel/golang:1.20-apline AS builder
FROM golang:1.20-alpine AS builder
WORKDIR /app
@@ -16,7 +15,7 @@ RUN go mod download && \
CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o doc_ai ./main.go
# Runtime stage
FROM crpi-8s2ierii2xan4klg.cn-beijing.personal.cr.aliyuncs.com/texpixel/alpine:latest
FROM alpine:latest
# Set timezone
RUN apk add --no-cache tzdata && \

View File

@@ -4,16 +4,16 @@ server:
database:
driver: mysql
host: 182.92.150.161
port: 3006
host: mysql
port: 3306 # 容器内部端口,不是宿主机映射的 3006
username: root
password: yoge@coder%%%123321!
password: texpixel#pwd123!
dbname: doc_ai
max_idle: 10
max_open: 100
redis:
addr: 182.92.150.161:6379
addr: redis:6379 # 容器内部端口,不是宿主机映射的 6079
password: yoge@123321!
db: 0

View File

@@ -18,7 +18,7 @@ redis:
db: 0
limit:
formula_recognition: 2
formula_recognition: 10
log:
appName: document_ai

View File

@@ -1,27 +1,50 @@
version: '3.8'
services:
doc_ai:
build: .
container_name: doc_ai
ports:
- "8024:8024"
volumes:
- ./config:/app/config
- ./logs:/app/logs
networks:
- backend
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_started
command: ["-env", "dev"]
restart: always
mysql:
image: mysql:8.0
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: 123456 # 设置root用户密码
MYSQL_DATABASE: document_ai # 设置默认数据库名
MYSQL_USER: bitwsd_document # 设置数据库用户名
MYSQL_PASSWORD: 123456 # 设置数据库用户密码
MYSQL_ROOT_PASSWORD: texpixel#pwd123!
MYSQL_DATABASE: doc_ai
MYSQL_USER: texpixel
MYSQL_PASSWORD: texpixel#pwd123!
ports:
- "3306:3306" # 映射宿主机的3306端口到容器内的3306
- "3006:3306"
volumes:
- mysql_data:/var/lib/mysql # 持久化MySQL数据
- mysql_data:/var/lib/mysql
networks:
- backend
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-ptexpixel#pwd123!"]
interval: 5s
timeout: 5s
retries: 10
start_period: 30s
restart: always
redis:
image: redis:latest
container_name: redis
command: redis-server --requirepass "yoge@123321!"
ports:
- "6379:6379" # 映射宿主机的6379端口到容器内的6379
- "6079:6379"
networks:
- backend
restart: always

2
go.mod
View File

@@ -14,6 +14,7 @@ require (
github.com/redis/go-redis/v9 v9.7.0
github.com/rs/zerolog v1.33.0
github.com/spf13/viper v1.19.0
golang.org/x/crypto v0.23.0
gopkg.in/natefinch/lumberjack.v2 v2.2.1
gorm.io/driver/mysql v1.5.7
gorm.io/gorm v1.25.12
@@ -68,7 +69,6 @@ require (
go.uber.org/atomic v1.9.0 // indirect
go.uber.org/multierr v1.9.0 // indirect
golang.org/x/arch v0.8.0 // indirect
golang.org/x/crypto v0.23.0 // indirect
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
golang.org/x/net v0.25.0 // indirect
golang.org/x/sys v0.20.0 // indirect

16
main.go
View File

@@ -10,14 +10,14 @@ import (
"syscall"
"time"
"gitea.com/bitwsd/document_ai/pkg/cors"
"gitea.com/bitwsd/document_ai/pkg/log"
"gitea.com/bitwsd/document_ai/pkg/middleware"
"gitea.com/bitwsd/document_ai/api"
"gitea.com/bitwsd/document_ai/config"
"gitea.com/bitwsd/document_ai/internal/storage/cache"
"gitea.com/bitwsd/document_ai/internal/storage/dao"
"gitea.com/bitwsd/document_ai/pkg/common"
"gitea.com/bitwsd/document_ai/pkg/cors"
"gitea.com/bitwsd/document_ai/pkg/log"
"gitea.com/bitwsd/document_ai/pkg/middleware"
"gitea.com/bitwsd/document_ai/pkg/sms"
"github.com/gin-gonic/gin"
)
@@ -42,14 +42,6 @@ func main() {
cache.InitRedisClient(config.GlobalConfig.Redis)
sms.InitSmsClient()
// 初始化Redis
// cache.InitRedis(config.GlobalConfig.Redis.Addr)
// 初始化OSS客户端
// if err := oss.InitOSS(config.GlobalConfig.OSS); err != nil {
// logger.Fatal("Failed to init OSS client", logger.Fields{"error": err})
// }
// 设置gin模式
gin.SetMode(config.GlobalConfig.Server.Mode)
@@ -78,6 +70,6 @@ func main() {
if err := srv.Shutdown(context.Background()); err != nil {
panic(err)
}
time.Sleep(time.Second * 3)
time.Sleep(time.Second * 5)
dao.CloseDB()
}