# syntax=docker/dockerfile:1 FROM alpine:3.19 WORKDIR /tmp RUN --mount=type=bind,source=.,target=/packages \ apk update --no-cache && apk add bash --no-cache \ && addgroup -S -g {{ .FlowGID }} flow \ && adduser -S -H -D -s /bin/bash -u {{ .GoToSocial.LinuxUID }} -G flow gts \ && mkdir -p /flow/gts/config \ && tar xzvf /packages/gotosocial_{{ .GoToSocial.Version }}_linux_amd64.tar.gz \ && tar xzvf /packages/gotosocial_{{ .GoToSocial.Version }}_web-assets.tar.gz \ && mv /tmp/gotosocial /usr/local/bin/gotosocial \ && mv /tmp/web {{ .GoToSocial.WebBaseDirectory }} \ && cp /packages/entrypoint.sh /usr/local/bin/entrypoint \ && cp /packages/config.yaml /flow/gts/config/config.yaml \ && cp /packages/assets/images/background.jpg {{ .GoToSocial.WebBaseDirectory }}/assets/background.jpg \ && cp /packages/assets/fonts/* {{ .GoToSocial.WebBaseDirectory }}/assets/fonts/ \ && cp /packages/assets/themes/* {{ .GoToSocial.WebBaseDirectory }}/assets/themes/ \ && chown -R {{ .GoToSocial.LinuxUID }}:{{ .FlowGID }} /flow/gts \ && chmod a+x /usr/local/bin/entrypoint \ && rm -rf /tmp/* USER {{ .GoToSocial.LinuxUID }}:{{ .FlowGID }} WORKDIR /flow/gts ENTRYPOINT ["entrypoint"]