forked from zotonic/zotonic
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile.dev
37 lines (26 loc) · 1.31 KB
/
Dockerfile.dev
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
FROM erlang:24-alpine
# This Docker image is used to run Zotonic inside the container
# in conjunction with a postgresql container.
# All Zotonic sources, configuration and other data is stored outside the
# container(s). Check the docker-compose.yml file for details.
ENV SHELL="/bin/sh"
WORKDIR /opt/zotonic
# Fix for untrusted keys https://gitlab.alpinelinux.org/alpine/aports/-/issues/14043
RUN apk upgrade
RUN apk add -X https://dl-cdn.alpinelinux.org/alpine/v3.16/main -u alpine-keys
# Install Zotonic runtime dependencies.
# Git is necessary because rebar3 compile requires git.
RUN apk add --no-cache bsd-compat-headers ca-certificates wget curl \
make gcc musl-dev g++ libstdc++ \
bash file gettext git openssl inotify-tools \
imagemagick ffmpeg
# Note: gosu is pulled from edge; remove that when upgrading to an alpine release that
# includes the package.
RUN apk add --no-cache dumb-init \
&& apk add --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/edge/testing/ gosu
COPY docker/docker-entrypoint.sh /opt/zotonic-docker/docker-entrypoint.sh
VOLUME /opt/zotonic
EXPOSE 8000 8443
# Use dumb-init to reap zombies, catch signals, and all the other stuff pid 1 should do.
ENTRYPOINT ["/usr/bin/dumb-init", "-c", "--", "/opt/zotonic-docker/docker-entrypoint.sh"]
CMD ["/bin/bash"]