41 lines
1.1 KiB
Docker
41 lines
1.1 KiB
Docker
FROM golang:1.23 AS build
|
|
WORKDIR /app
|
|
COPY . .
|
|
ADD https://packaged-cli.prisma.sh/prisma-cli-5.22.0-linux-x64.gz /prisma-cli-linux-x64.gz
|
|
ENV PRISMA_CLI_DIR=/root/.cache/prisma/binaries/cli/5.22.0
|
|
RUN go mod download
|
|
RUN go get github.com/steebchen/prisma-client-go
|
|
RUN mkdir -p $PRISMA_CLI_DIR
|
|
RUN mv /prisma-cli-linux-x64.gz $PRISMA_CLI_DIR/prisma-cli-linux-x64.gz
|
|
RUN gunzip $PRISMA_CLI_DIR/prisma-cli-linux-x64.gz
|
|
RUN chmod +x $PRISMA_CLI_DIR/prisma-cli-linux-x64
|
|
RUN bash scripts/db-push.sh
|
|
|
|
RUN go build -o /main main.go
|
|
|
|
RUN go build -o /create-user cli/create-user_gen.go
|
|
|
|
FROM alpine
|
|
|
|
ARG USER=default
|
|
ENV HOME /home/$USER
|
|
|
|
RUN apk add --update libc6-compat
|
|
|
|
# add new user
|
|
RUN adduser -D $USER
|
|
RUN mkdir /home/$USER/files
|
|
RUN chown -R $USER:$USER /home/$USER/files
|
|
|
|
USER $USER
|
|
WORKDIR $HOME
|
|
|
|
COPY --from=build --chown=default:default /main ./main
|
|
COPY --from=build --chown=default:default /create-user ./create-user
|
|
COPY --from=build --chown=default:default /app/.env .env
|
|
COPY --chown=default:default views/ ./views
|
|
COPY --chown=default:default static/ ./static/
|
|
EXPOSE 8089
|
|
CMD ./main
|
|
|