29 lines
621 B
Bash
29 lines
621 B
Bash
|
|
#!bash
|
||
|
|
|
||
|
|
set -xue
|
||
|
|
|
||
|
|
venv=/root/miniconda3/envs/bizwechat
|
||
|
|
workdir=$(dirname $(realpath $0))
|
||
|
|
name=$(basename $workdir)
|
||
|
|
|
||
|
|
[ -d "$venv" ] || (echo "venv $venv not exists" && exit 1)
|
||
|
|
|
||
|
|
cd $workdir || (echo "cd $workdir failed" && exit 1)
|
||
|
|
|
||
|
|
. "$workdir/.env"
|
||
|
|
|
||
|
|
[ -e "log" ] || mkdir log
|
||
|
|
|
||
|
|
docker run -d --stop-signal INT --replace \
|
||
|
|
--ip $UVICORN_HOST \
|
||
|
|
-v "$venv:$venv" \
|
||
|
|
-v "$workdir:$workdir" \
|
||
|
|
--name "$name" \
|
||
|
|
--env-file "$workdir/.env" \
|
||
|
|
--workdir "$workdir" \
|
||
|
|
--restart unless-stopped \
|
||
|
|
debian:bookworm \
|
||
|
|
"$venv/bin/uvicorn" main:app --log-config "config/$ENVIRONMENT/logging.yaml" $@
|
||
|
|
|
||
|
|
docker logs -f "$name"
|