Merge pull request 'Added docker config files and make handler to build the server into a docker container' (#1) from jubil-1-dockerfication into main
Reviewed-on: #1
This commit is contained in:
commit
e7c3f0be12
40
Makefile
Normal file
40
Makefile
Normal file
@ -0,0 +1,40 @@
|
||||
PROJECT = go-pb-jubilee
|
||||
|
||||
VERSION=`git describe --tags`
|
||||
BUILD=`date +%FT%T%z`
|
||||
|
||||
|
||||
ECR_REPO = git.caliban.io/martin
|
||||
|
||||
APP_IMAGE = $(ECR_REPO)/$(PROJECT):$(VERSION)
|
||||
|
||||
NO_CACHE = true
|
||||
|
||||
LDFLAGS=-ldflags "-w -s -X main.Version=${VERSION} -X main.Build=${BUILD}"
|
||||
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
#CC=/usr/local/musl/bin/musl-gcc go build --ldflags '-linkmode external -extldflags "-static"' server.go
|
||||
GCO_ENABLED=0 GOOS=linux go build ${LDFLAGS} -o ${PROJECT} main.go
|
||||
# go build ${LDFLAGS} -o ${PROJECT} server.go
|
||||
|
||||
# docker build ./docker/. -t $(APP_IMAGE) --build-arg VERSION=$(VERSION) --no-cache=$(NO_CACHE) --compress=true
|
||||
docker build --platform linux/amd64 --no-cache -force-rm --tag ${APP_IMAGE} --file ./docker/Dockerfile .
|
||||
|
||||
|
||||
#push docker image to registry
|
||||
.PHONY: push
|
||||
push: build
|
||||
docker push $(APP_IMAGE)
|
||||
|
||||
|
||||
#push docker image to registry
|
||||
.PHONY: run
|
||||
run: build
|
||||
docker run $(APP_IMAGE)
|
||||
|
||||
ver:
|
||||
@echo '$(VERSION)'
|
||||
#echo $ERSION
|
||||
.PHONY: ver
|
9
docker-compose.yml
Normal file
9
docker-compose.yml
Normal file
@ -0,0 +1,9 @@
|
||||
version: '3.5'
|
||||
|
||||
services:
|
||||
trainserver:
|
||||
container_name: jubilee
|
||||
image: git.caliban.io/martin/go-pb-jubilee:1.0.0
|
||||
restart: always
|
||||
ports:
|
||||
- "8090:8090"
|
30
docker/Dockerfile
Normal file
30
docker/Dockerfile
Normal file
@ -0,0 +1,30 @@
|
||||
FROM debian:12-slim
|
||||
# FROM alpine:latest
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN mkdir -p /app/dist
|
||||
|
||||
COPY ./go-pb-jubilee ./docker/start.sh /app/
|
||||
|
||||
COPY ./pb_data /app/pb_data
|
||||
COPY ./pb_public /app/pb_public
|
||||
|
||||
RUN apt-get update && apt-get install -y ca-certificates
|
||||
|
||||
# Need the following to get a go app to run inside a docker container
|
||||
# as per: https://www.fairlyusefulcode.co.uk/post/go-alpine-linux/ -- DEAD!!!
|
||||
# RUN apk upgrade musl
|
||||
# RUN apk add gcompat
|
||||
|
||||
# RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
|
||||
# RUN ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
|
||||
|
||||
RUN chmod +x /app/go-pb-jubilee
|
||||
RUN chmod +x /app/start.sh
|
||||
|
||||
EXPOSE 8090
|
||||
|
||||
CMD [ "/app/go-pb-jubilee", "serve", "--http=0.0.0.0:8090"]
|
||||
# CMD [ "/app/start.sh"]
|
||||
|
9
docker/start.sh
Normal file
9
docker/start.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
set -ex
|
||||
|
||||
# npm run dev
|
||||
|
||||
# npm run start
|
||||
|
||||
|
||||
while true; do sleep infinity; done
|
BIN
go-pb-jubilee
Executable file
BIN
go-pb-jubilee
Executable file
Binary file not shown.
Loading…
Reference in New Issue
Block a user