29 lines
1.0 KiB
Docker
29 lines
1.0 KiB
Docker
FROM alpine
|
|
|
|
# Install packages
|
|
RUN awk 'NR==2' /etc/apk/repositories | sed 's/main/community/' | tee -a /etc/apk/repositories
|
|
RUN apk update && apk add curl exiftool ffmpeg imagemagick libmagic openssl1.1-compat postgresql14-client su-exec unzip
|
|
|
|
# Create user and directories
|
|
RUN addgroup pleroma && adduser --system -G pleroma --shell /bin/false --home /opt/pleroma pleroma
|
|
RUN mkdir -p /uploads
|
|
RUN mkdir -p /static
|
|
RUN mkdir -p /config
|
|
|
|
# Download and install Pleroma
|
|
RUN curl 'https://git.pleroma.social/api/v4/projects/2/jobs/artifacts/stable/download?job=amd64-musl' -o /tmp/pleroma.zip
|
|
RUN unzip /tmp/pleroma.zip -d /tmp/
|
|
RUN mv /tmp/release/* /opt/pleroma
|
|
RUN rmdir /tmp/release && rm /tmp/pleroma.zip
|
|
|
|
# Add entrypoint script and base config
|
|
COPY ./docker-entrypoint.sh /usr/local/bin/
|
|
COPY ./config.dist.exs /opt/pleroma/
|
|
|
|
WORKDIR /opt/pleroma
|
|
ENV PLEROMA_CONFIG_PATH=/config/config.exs
|
|
VOLUME ["/uploads", "/static", "/config"]
|
|
EXPOSE 4000
|
|
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
|
|
CMD ["/opt/pleroma/bin/pleroma", "start"]
|