mastodon-docker/Dockerfile

57 lines
1.4 KiB
Docker

FROM phusion/baseimage:0.11
# Use baseimage-docker's init system.
CMD ["/sbin/my_init"]
# make some SSH keys that will never get used just so that
# the container doesn't generate new ones each and every boot
# (sshd is not enabled in the container)
RUN /etc/my_init.d/00_regen_ssh_host_keys.sh
ENV \
RUN_DB_MIGRATIONS=true \
SIDEKIQ_WORKERS=5 \
RAILS_SERVE_STATIC_FILES=true \
RAILS_ENV=production \
NODE_ENV=production \
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/mastodon/app/bin
ARG UID=991
ARG GID=991
ARG REPO_URL=https://github.com/tootsuite/mastodon.git
# v3.0.1 upstream
ARG REPO_REV=c4118ba71ba31e408c02d289e111326ccc6f6aa2
# install os prereq stuff to image
ADD prereqs.sh /tmp/prereqs.sh
RUN bash /tmp/prereqs.sh
# install mastodon:
ADD install.sh /tmp/install.sh
WORKDIR /mastodon
ENV HOME /mastodon
ENV BIND 0.0.0.0
RUN chpst -u mastodon:mastodon bash /tmp/install.sh
ADD ./rootfs /
RUN chmod +x /etc/service/postfix/run
RUN chmod +x /etc/service/redis/run
RUN chmod +x /etc/service/postgres/run
RUN chmod +x /etc/service/startup/run
RUN chmod +x /etc/service/sidekiq/run
RUN chmod +x /etc/service/web/run
RUN chmod +x /etc/service/streaming/run
VOLUME /state
EXPOSE 3000 4000
LABEL maintainer="Jeffrey Paul <sneak@sneak.berlin>" \
description="Your self-hosted, globally interconnected microblogging community"