add docker and workflow
All checks were successful
Build and push container / Build-Docker-Container (push) Successful in 3m35s

This commit is contained in:
TheArrayser 2025-01-11 23:11:39 +00:00
parent 063c19d526
commit 54607a527c
4 changed files with 59 additions and 1 deletions

View File

@ -0,0 +1,38 @@
name: Build and push container
run-name: ${{ gitea.actor }} is building the container
on: [push]
jobs:
Build-Docker-Container:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to registry
uses: docker/login-action@v3
with:
registry: git.cringe-studios.com
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: git.cringe-studios.com/CringeStudios/dns
tags: |
type=sha
type=raw,latest
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
file: docker/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

18
docker/Dockerfile Normal file
View File

@ -0,0 +1,18 @@
FROM golang:1.23-alpine AS builder
COPY . /workspace
WORKDIR /workspace
RUN go build -ldflags "-s -w" .
FROM alpine:latest
COPY --from=builder /workspace/dns /usr/local/bin/dns
WORKDIR /dns
ENTRYPOINT [ "/usr/local/bin/dns" ]

2
go.mod
View File

@ -1,4 +1,4 @@
module git.cringe-studios.com/mr/dnshttp module git.cringe-studios.com/CringeStudios/dns
go 1.23.2 go 1.23.2

View File

@ -109,6 +109,8 @@ func getPage(w http.ResponseWriter, r *http.Request) {
} }
func main() { func main() {
log.Println("Starting Server!");
handler := new(dnsHandler) handler := new(dnsHandler)
server := &dns.Server{ server := &dns.Server{