aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorMax Resnick <max@ofmax.li>2024-03-29 22:01:26 -0700
committerMax Resnick <max@ofmax.li>2024-03-29 22:01:26 -0700
commit544fd53047b240170ea51abd418f132b69eadf42 (patch)
treeea1bf8e8df939ee38d0efed6229cf2f41ec4f986 /Dockerfile
parent773674dfaf1f1679a8add6eeb5f8c8eb8d649d2b (diff)
downloadgo-git-server-544fd53047b240170ea51abd418f132b69eadf42.tar.gz
feat: add dockerfile
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile27
1 files changed, 27 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..baaa008
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,27 @@
+FROM golangci/golangci-lint:latest as golangci
+FROM golang:1.22.0-bookworm as base
+
+RUN mkdir -p /app
+WORKDIR /app
+
+COPY --from=golangci /usr/bin/golangci-lint /usr/bin/golangci-lint
+COPY . /app/
+
+RUN curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin
+RUN just build
+
+FROM public.ecr.aws/s0f9o2k5/base:v0.1.0
+RUN useradd -s /usr/sbin/nologin \
+ --create-home \
+ --home-dir /opt/app \
+ app
+
+WORKDIR /opt/app
+RUN install_deb git \
+ && mkdir /opt/repos \
+ && chown app:app /opt/repos/
+USER app
+
+COPY --from=base /app/_build/ /opt/app/
+
+CMD ["/opt/app/bin/go-git-server", "-r", "/opt/repos", "-t", "/tokens/tokens.csv", "-p", "/opt/app/etc/policy.csv", "-m", "/opt/app/etc/auth_model.ini", "-a", "-s", "gitserver.yaml"]