Repository navigation
Expand file tree
/
Copy pathContainerfile.pkg
More file actions
53 lines (44 loc) · 2.1 KB
/
Copy pathContainerfile.pkg
File metadata and controls
53 lines (44 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# --------------------------------------------------------------------------
# THIS FILE IS AUTOGENERATED - DO NOT EDIT MANUALLY
#
# Source: Containerfile.pkg.j2
# --------------------------------------------------------------------------
ARG BASE_VERSION=15.1-latest
FROM ghcr.io/daemonless/base-rcd:${BASE_VERSION}
ARG FREEBSD_ARCH=amd64
ARG PKG_NAME="stalwart"
ARG PACKAGES="${PKG_NAME} socat"
# License: dual-licensed AGPL-3.0-only (open core) + Stalwart Enterprise License
# (SELv1, mirror auto-accept). SPDX label reflects the open core.
LABEL org.opencontainers.image.title="Stalwart" \
org.opencontainers.image.description="Stalwart Mail Server is an open-source mail server solution with JMAP, IMAP4, POP3, and SMTP support and a wide range of modern features. It is written in Rust and designed to be secure, fast, robust and scalable." \
org.opencontainers.image.source="https://github.com/daemonless/stalwart" \
org.opencontainers.image.url="https://stalw.art/" \
org.opencontainers.image.licenses="AGPL-3.0-only" \
org.opencontainers.image.vendor="daemonless" \
org.opencontainers.image.authors="daemonless" \
io.daemonless.category="Network" \
io.daemonless.port="8080" \
io.daemonless.arch="${FREEBSD_ARCH}" \
io.daemonless.pkg-source="pkg" \
io.daemonless.packages="${PACKAGES}" \
io.daemonless.pkg-name="${PKG_NAME}"
# Config + data live under /config. The packaged config.toml stores its rocksdb
# data at ${STALWART_PATH}/data, so STALWART_PATH=/config -> /config/data.
ENV STALWART_PATH=/config
# Install stalwart (pkg creates the stalwart user/group).
RUN pkg update && \
pkg install -y ${PACKAGES} && \
mkdir -p /app /config && \
pkg query '%v' ${PKG_NAME} > /app/version && \
pkg clean -ay && \
rm -rf /var/cache/pkg/* /var/db/pkg/repos/*
# Copy root filesystem
COPY root/ /
RUN chmod +x /daemonless/libexec/* /daemonless/init.d/*
# Set permissions
RUN chmod +x /healthz
# Mail + submission + IMAP/POP3 + ManageSieve + JMAP/HTTP(S)/admin
EXPOSE 25 110 143 443 465 587 993 995 4190 8080
# Config + rocksdb data store
VOLUME /config