summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorAshlynn Anderson <pea@pea.sh>2019-07-31 19:35:14 -0400
committerAshlynn Anderson <pea@pea.sh>2019-08-03 00:21:54 -0400
commit7efca4317b568c408a10b71799f9b8261ac5e8e6 (patch)
tree2ae5adbe51e81b3e4ff611b6e02a7aafd3938239 /Dockerfile
parente553a17e98394ecdd64908ab524a192f1b2390bf (diff)
Basic working Dockerfile
No fancy script or minit automatic migration, etc, but if you start the docker image and go in and manually do everything, it works.
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile32
1 files changed, 32 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 000000000..667c01b39
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,32 @@
+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
+
+RUN mix deps.get --only prod &&\
+ mkdir release &&\
+ mix release --path release
+
+FROM alpine:latest
+
+RUN echo "http://nl.alpinelinux.org/alpine/latest-stable/community" >> /etc/apk/repositories &&\
+ apk update &&\
+ apk add ncurses postgresql-client
+
+RUN adduser --system --shell /bin/false --home /opt/pleroma pleroma &&\
+ mkdir -p /var/lib/pleroma/uploads &&\
+ chown -R pleroma /var/lib/pleroma &&\
+ mkdir -p /var/lib/pleroma/static &&\
+ chown -R pleroma /var/lib/pleroma &&\
+ mkdir -p /etc/pleroma &&\
+ chown -R pleroma /etc/pleroma
+
+USER pleroma
+
+COPY --from=build --chown=pleroma:0 /release/ /opt/pleroma/