From 97901b8a4480d17caefd180a5115c0985d5417f7 Mon Sep 17 00:00:00 2001 From: Simon Martens Date: Fri, 6 Dec 2024 13:39:26 +0100 Subject: [PATCH] added docker image --- docker-compose.yml | 11 +++++++++++ dockerfile | 23 +++++++++++++++++++++++ functions/iterables.go | 18 ++++++++++++++++++ functions/sorting.go | 12 ++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 docker-compose.yml create mode 100644 dockerfile create mode 100644 functions/iterables.go create mode 100644 functions/sorting.go diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..37ac8d3 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +services: + kgpz_web: + build: . + volumes: + - kgpz_data:/app/data_git + ports: + - "8000:8080" + +volumes: + kgpz_data: + external: true diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..7a6ffc4 --- /dev/null +++ b/dockerfile @@ -0,0 +1,23 @@ +FROM node:lts-alpine +COPY . /source + +RUN apk add --no-cache \ + unzip \ + ca-certificates \ + build-base + + +ADD https://go.dev/dl/go1.23.2.linux-amd64.tar.gz /tmp/go.tar.gz +RUN tar -C /usr/local -xzf /tmp/go.tar.gz +RUN export PATH=$PATH:/usr/local/go/bin + +WORKDIR /source +RUN rm -rf ./data_git/ +RUN rm -rf ./cache_gnd/ +RUN npm --prefix ./views install +RUN npm --prefix ./views run build -- --config vite.config.js +RUN /usr/local/go/bin/go build -o /app/kgpz . +COPY ./config.dev.json /app/config.dev.json + +WORKDIR /app +CMD ["/app/kgpz"] diff --git a/functions/iterables.go b/functions/iterables.go new file mode 100644 index 0000000..3ac16ae --- /dev/null +++ b/functions/iterables.go @@ -0,0 +1,18 @@ +package functions + +func MapArrayInsert[K comparable, V any](m map[K][]V, k K, v V) { + l, ok := m[k] + if !ok { + m[k] = []V{v} + } else { + m[k] = append(l, v) + } +} + +func Keys[K comparable, V any](m map[K]V) []K { + keys := make([]K, 0, len(m)) + for k := range m { + keys = append(keys, k) + } + return keys +} diff --git a/functions/sorting.go b/functions/sorting.go new file mode 100644 index 0000000..fe43fa7 --- /dev/null +++ b/functions/sorting.go @@ -0,0 +1,12 @@ +package functions + +import ( + "golang.org/x/text/collate" + "golang.org/x/text/language" +) + +func Sort(s []string) []string { + c := collate.New(language.German, collate.IgnoreCase) + c.SortStrings(s) + return s +}