41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM elixir:1.11.4-alpine
 | |
| 
 | |
| ARG PLEROMA_VER=develop
 | |
| ARG UID=911
 | |
| ARG GID=911
 | |
| ENV UID=911 GID=911 MIX_ENV=prod
 | |
| 
 | |
| RUN echo "http://nl.alpinelinux.org/alpine/latest-stable/community" >> /etc/apk/repositories \
 | |
|     && apk update \
 | |
|     && apk add git gcc g++ musl-dev make cmake file-dev \
 | |
|     exiftool imagemagick libmagic ncurses postgresql-client ffmpeg
 | |
| 
 | |
| RUN addgroup -g ${GID} pleroma \
 | |
|     && adduser -h /pleroma -s /bin/false -D -G pleroma -u ${UID} pleroma
 | |
| 
 | |
| ARG DATA=/var/lib/pleroma
 | |
| RUN mkdir -p /etc/pleroma \
 | |
|     && chown -R pleroma /etc/pleroma \
 | |
|     && mkdir -p ${DATA}/uploads \
 | |
|     && mkdir -p ${DATA}/static \
 | |
|     && chown -R pleroma ${DATA}
 | |
| 
 | |
| USER pleroma
 | |
| WORKDIR /pleroma
 | |
| 
 | |
| RUN git clone -b develop https://git.pleroma.social/pleroma/pleroma.git /pleroma \
 | |
|     && git checkout ${PLEROMA_VER} 
 | |
| 
 | |
| RUN echo "import Mix.Config" > config/prod.secret.exs \
 | |
|     && mix local.hex --force \
 | |
|     && mix local.rebar --force \
 | |
|     && mix deps.get --only prod \
 | |
|     && mkdir release \
 | |
|     && mix release --path /pleroma
 | |
| 
 | |
| COPY ./config.exs /etc/pleroma/config.exs
 | |
| 
 | |
| EXPOSE 4000
 | |
| 
 | |
| ENTRYPOINT ["/pleroma/docker-entrypoint.sh"]
 |