667c01b39435c4f607aba69598fc7caf3877b971
[akkoma] / Dockerfile
1 FROM rinpatch/elixir:1.9.0-rc.0-alpine as build
2
3 COPY . .
4
5 ENV MIX_ENV prod
6
7 RUN apk add git gcc g++ musl-dev make &&\
8 echo "import Mix.Config" > config/prod.secret.exs &&\
9 mix local.hex --force &&\
10 mix local.rebar --force
11
12 RUN mix deps.get --only prod &&\
13 mkdir release &&\
14 mix release --path release
15
16 FROM alpine:latest
17
18 RUN echo "http://nl.alpinelinux.org/alpine/latest-stable/community" >> /etc/apk/repositories &&\
19 apk update &&\
20 apk add ncurses postgresql-client
21
22 RUN adduser --system --shell /bin/false --home /opt/pleroma pleroma &&\
23 mkdir -p /var/lib/pleroma/uploads &&\
24 chown -R pleroma /var/lib/pleroma &&\
25 mkdir -p /var/lib/pleroma/static &&\
26 chown -R pleroma /var/lib/pleroma &&\
27 mkdir -p /etc/pleroma &&\
28 chown -R pleroma /etc/pleroma
29
30 USER pleroma
31
32 COPY --from=build --chown=pleroma:0 /release/ /opt/pleroma/