docker support, added drone ci

This commit is contained in:
Philipp 2021-09-20 12:36:46 +02:00
parent cd90a16071
commit d0528d99eb
3 changed files with 66 additions and 0 deletions

18
.drone.yml Normal file
View file

@ -0,0 +1,18 @@
kind: pipeline
type: docker
name: default
steps:
- name: build & publish
image: plugins/docker
settings:
registry: registry.boehm.sh
repo: registry.boehm.sh/philipp/a2s-steam-server
tags: [ "${DRONE_COMMIT_SHA:0:7}","latest" ]
username:
from_secret: docker_username
password:
from_secret: docker_password
trigger:
action:
- labeled

39
Dockerfile Normal file
View file

@ -0,0 +1,39 @@
# GO Repo base repo
FROM golang:alpine3.14 as builder
RUN apk add git
# Add Maintainer Info
LABEL maintainer="<Philipp Böhm>"
RUN mkdir /app
ADD . /app
WORKDIR /app
COPY go.mod go.sum ./
# Download all the dependencies
RUN go mod download
COPY . .
# Build the Go app
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
# GO Repo base repo
FROM alpine:latest
RUN apk --no-cache add ca-certificates curl
RUN mkdir /app
WORKDIR /app/
# Copy the Pre-built binary file from the previous stage
COPY --from=builder /app/main .
# Expose port 8080
EXPOSE 8080
# Run Executable
CMD ["./main"]

9
docker-compose.yml Normal file
View file

@ -0,0 +1,9 @@
---
services:
steam-server-api:
image: registry.boehm.sh/philipp/a2s-steam-server
container_name: steam-server-api
ports:
- 127.0.0.1:8080:8080
- ::1:8080:8080
restart: unless-stopped