wk1: initial docker image setup

This commit is contained in:
ari melody 2026-01-28 13:42:48 +00:00
commit 51738fcac7
Signed by: ari
GPG key ID: CF99829C92678188
33 changed files with 1833 additions and 0 deletions

47
Dockerfile Normal file
View file

@ -0,0 +1,47 @@
# ================================
# Compile Stage
# ================================
FROM debian:bookworm-slim AS compile
RUN <<EOF
apt update
apt install -y clang
apt clean
EOF
WORKDIR /src/
COPY src .
RUN clang -O2 -o /usr/local/bin/log /src/log/log.c
# ================================
# Build Stage
# ================================
FROM debian:bookworm-slim AS build
WORKDIR /
# Install dependencies
COPY target/scripts/build/packages.sh /build/
RUN /bin/bash /build/packages.sh && rm -r /build
# Install compiled binaries
COPY --from=compile /usr/local/bin/log /usr/local/bin/log
# Install helper scripts
COPY target/scripts/*.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/*
COPY target/scripts/helpers /usr/local/bin/helpers
# Supervisor
COPY target/supervisor/supervisord.conf /etc/supervisor/supervisord.conf
COPY target/supervisor/conf.d/* /etc/supervisor/conf.d/
# Dovecot
COPY target/dovecot/*.inc target/dovecot/*.conf /etc/dovecot/conf.d/
EXPOSE 25/tcp 143/tcp 465/tcp 993/tcp
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["supervisord", "-c", "/etc/supervisor/supervisord.conf"]