37 lines
903 B
Docker
37 lines
903 B
Docker
FROM alpine:latest AS build
|
|
RUN apk add jq curl tar xz git vim
|
|
RUN curl --output /zig.tar.xz "$(curl -s 'https://ziglang.org/download/index.json' | jq -r '.master."86_64-linux".tarball')"
|
|
|
|
RUN mkdir /zig
|
|
WORKDIR /zig
|
|
RUN tar -xf /zig.tar.xz
|
|
|
|
RUN mkdir /app
|
|
COPY . /app/
|
|
WORKDIR /app/
|
|
RUN /zig/zig-*/zig build -Denvironment=production install
|
|
|
|
run mkdir /jetzig
|
|
WORKDIR /jetzig
|
|
RUN git clone https://github.com/yuzudev/jetzig .
|
|
WORKDIR ./cli
|
|
RUN /zig/zig-*/zig build install
|
|
|
|
FROM alpine:latest
|
|
|
|
# copy zig over
|
|
RUN mkdir /.zig
|
|
COPY --from=build /zig/zig-*/ /.zig
|
|
ENV PATH="/.zig:$PATH"
|
|
|
|
# copy jetzig over
|
|
COPY --from=build /jetzig/cli/zig-out/bin/jetzig /usr/local/bin/jetzig
|
|
|
|
RUN mkdir -p /app/public
|
|
COPY --from=build /app /app
|
|
COPY --from=build /app/zig-out/bin/yuzucchiidotxyz /app/server
|
|
WORKDIR /app/
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["./server"]
|
|
CMD ["/app/server", "--bind", "0.0.0.0", "--port", "8080"]
|