aboutsummaryrefslogtreecommitdiff
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
parente553a17e98394ecdd64908ab524a192f1b2390bf (diff)
downloadpleroma-7efca4317b568c408a10b71799f9b8261ac5e8e6.tar.gz
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.
-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/