diff options
author | Ashlynn Anderson <pea@pea.sh> | 2019-07-31 19:35:14 -0400 |
---|---|---|
committer | Ashlynn Anderson <pea@pea.sh> | 2019-08-03 00:21:54 -0400 |
commit | 7efca4317b568c408a10b71799f9b8261ac5e8e6 (patch) | |
tree | 2ae5adbe51e81b3e4ff611b6e02a7aafd3938239 /Dockerfile | |
parent | e553a17e98394ecdd64908ab524a192f1b2390bf (diff) | |
download | pleroma-7efca4317b568c408a10b71799f9b8261ac5e8e6.tar.gz pleroma-7efca4317b568c408a10b71799f9b8261ac5e8e6.zip |
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-- | Dockerfile | 32 |
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/ |