#export GO111MODULE=on #export GOPROXY=https://goproxy.cn,direct #export GOPATH=/root/go #export GOCACHE=/root/.cache/go-build export CONTAINER_NAME=ai_scheduler export NETWORK_NAME=ai_scheduler_network #export CGO_ENABLED='0' MODE="$1" if [ "$MODE" != "dev" ] && [ "$MODE" != "prod" ]; then echo "Usage: $0 dev|prod" exit 1 fi CONFIG_FILE="config/config.yaml" BRANCH="master" BOT="All" if [ "$MODE" = "dev" ]; then CONFIG_FILE="config/config_test.yaml" BOT="zltx" BRANCH="test" fi git fetch origin git checkout "$BRANCH" git pull origin "$BRANCH" #go mod tidy #make build docker build -t ${CONTAINER_NAME} . docker stop ${CONTAINER_NAME} docker rm -f ${CONTAINER_NAME} # 依赖服务绑定同一网络,以便相互通信 docker network create "${NETWORK_NAME}" || true docker network connect "${NETWORK_NAME}" excel2pic || true docker network connect "${NETWORK_NAME}" l_ai_knowledge || true docker run -itd \ --name "${CONTAINER_NAME}" \ --restart=always \ --add-host=host.docker.internal:host-gateway \ --network="${NETWORK_NAME}" \ -e "OLLAMA_BASE_URL=${OLLAMA_BASE_URL:-http://host.docker.internal:11434}" \ -e "MODE=${MODE}" \ -p 8090:8090 \ -v ./cache:/app/cache \ -v ./tmpl:/app/tmpl \ -v ./go.mod:/app/go.mod \ "${CONTAINER_NAME}" ./server --config "./${CONFIG_FILE}" --bot "${BOT}" docker logs -f ${CONTAINER_NAME}