mirror of
https://github.com/zhengkai/orca.git
synced 2026-02-04 18:32:26 +08:00
up
This commit is contained in:
1
misc/docker/.gitignore
vendored
Normal file
1
misc/docker/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.tar
|
||||
28
misc/docker/Dockerfile
Normal file
28
misc/docker/Dockerfile
Normal file
@@ -0,0 +1,28 @@
|
||||
# builder stage
|
||||
|
||||
FROM golang:latest as builder
|
||||
|
||||
ARG DOCKER_RUNNING=yes
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt update && apt install -yq protobuf-compiler tzdata ca-certificates
|
||||
RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.27.1
|
||||
|
||||
COPY . /project
|
||||
|
||||
RUN cd /project/proto && make
|
||||
|
||||
RUN /project/server/build/build-server.sh prod
|
||||
|
||||
# clean stage
|
||||
|
||||
FROM alpine
|
||||
|
||||
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
||||
COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/
|
||||
COPY --from=builder /project/server/dist/prod/orca-server-next /orca-server
|
||||
|
||||
RUN apk add --no-cache gzip brotli
|
||||
|
||||
ENV TZ=Asia/Shanghai
|
||||
|
||||
CMD ["/orca-server"]
|
||||
25
misc/docker/Makefile
Normal file
25
misc/docker/Makefile
Normal file
@@ -0,0 +1,25 @@
|
||||
SHELL:=/bin/bash
|
||||
|
||||
build: git
|
||||
sudo docker build -t orca -f Dockerfile ../..
|
||||
|
||||
run: build
|
||||
sudo docker run --env "ORCA_MYSQL=orca:orca@tcp(172.17.0.1:3306)/orca" \
|
||||
--mount type=bind,source=/tmp/orca/tmp,target=/tmp \
|
||||
--mount type=bind,source=/tmp/orca/server/dist/prod/log,target=/log \
|
||||
orca
|
||||
|
||||
install: build
|
||||
sudo docker save orca > docker-orca.tar
|
||||
scp docker-orca.tar freya:/tmp
|
||||
scp install.sh freya:/tmp
|
||||
ssh freya "chmod +x /tmp/install.sh && /tmp/install.sh && rm /tmp/install.sh"
|
||||
|
||||
git:
|
||||
../../server/build/git-hash.sh > ../../server/build/.git-hash
|
||||
|
||||
clean:
|
||||
sudo docker stop orca || :
|
||||
sudo docker rm orca || :
|
||||
sudo docker rmi orca || :
|
||||
sudo docker image prune --force
|
||||
24
misc/docker/install.sh
Normal file
24
misc/docker/install.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
TARGET="Freya"
|
||||
|
||||
if [ "$HOSTNAME" != "$TARGET" ]; then
|
||||
>&2 echo only run in server "$TARGET"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sudo docker stop orca
|
||||
sudo docker rm orca
|
||||
sudo docker rmi orca
|
||||
|
||||
sudo cat /tmp/docker-orca.tar | sudo docker load
|
||||
|
||||
sudo docker run -d --name orca \
|
||||
--env "TANK_MYSQL=orca:orca@tcp(172.17.0.1:3306)/orca" \
|
||||
--env "STATIC_DIR=/tmp" \
|
||||
--env "OUTPUT_PATH=/output" \
|
||||
--mount type=bind,source=/www/orca/output,target=/output \
|
||||
--mount type=bind,source=/www/orca/log,target=/log \
|
||||
--mount type=bind,source=/www/orca/static,target=/tmp \
|
||||
--restart always \
|
||||
orca
|
||||
Reference in New Issue
Block a user