wk1: initial docker image setup
This commit is contained in:
commit
51738fcac7
33 changed files with 1833 additions and 0 deletions
47
Dockerfile
Normal file
47
Dockerfile
Normal 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"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue