summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2019-08-09 20:09:56 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2019-08-09 20:09:56 +0300
commit267262491ecf7b413052708062abac69b1d8f643 (patch)
tree0d4d1f6c10766f49ad98e61fab36934b2e30706b /Dockerfile
parentb7fad8d395c2bd1afe445a370e539571f5ec0c18 (diff)
parent29807ef6a5b43a528ffca08b4f721b251f331c8d (diff)
downloadpleroma-267262491ecf7b413052708062abac69b1d8f643.tar.gz
pleroma-267262491ecf7b413052708062abac69b1d8f643.zip
Merge remote-tracking branch 'remotes/upstream/develop' into 1149-oban-job-queue
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile39
1 files changed, 39 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 000000000..268ec61dc
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,39 @@
+FROM rinpatch/elixir:1.9.0-rc.0-alpine as build
+
+COPY . .
+
+ENV MIX_ENV=prod
+
+RUN apk add git gcc g++ musl-dev make &&\
+ echo "import Mix.Config" > config/prod.secret.exs &&\
+ mix local.hex --force &&\
+ mix local.rebar --force &&\
+ mix deps.get --only prod &&\
+ mkdir release &&\
+ mix release --path release
+
+FROM alpine:latest
+
+ARG HOME=/opt/pleroma
+ARG DATA=/var/lib/pleroma
+
+RUN echo "http://nl.alpinelinux.org/alpine/latest-stable/community" >> /etc/apk/repositories &&\
+ apk update &&\
+ apk add ncurses postgresql-client &&\
+ adduser --system --shell /bin/false --home ${HOME} pleroma &&\
+ mkdir -p ${DATA}/uploads &&\
+ mkdir -p ${DATA}/static &&\
+ chown -R pleroma ${DATA} &&\
+ mkdir -p /etc/pleroma &&\
+ chown -R pleroma /etc/pleroma
+
+USER pleroma
+
+COPY --from=build --chown=pleroma:0 /release ${HOME}
+
+COPY ./config/docker.exs /etc/pleroma/config.exs
+COPY ./docker-entrypoint.sh ${HOME}
+
+EXPOSE 4000
+
+ENTRYPOINT ["/opt/pleroma/docker-entrypoint.sh"]