38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM alpine:3.17
 | |
| 
 | |
| ENV MIX_ENV prod
 | |
| ENV PATH "${PATH}:/opt/akkoma/bin"
 | |
| ENV AKKOMA_CONFIG_PATH "/config/config.exs"
 | |
| 
 | |
| # Install required (and optional) packages
 | |
| RUN awk 'NR==2' /etc/apk/repositories | sed 's/main/community/' | tee -a /etc/apk/repositories && \
 | |
|     apk update && \
 | |
|     apk add su-exec curl unzip ncurses file-dev imagemagick ffmpeg exiftool libcrypto1.1
 | |
| 
 | |
| # Set entrypoint
 | |
| COPY ./entrypoint.sh /entrypoint.sh
 | |
| RUN chown root:root /entrypoint.sh && \
 | |
|     chmod u+x /entrypoint.sh
 | |
| 
 | |
| # Create a dedicated user for Akkoma
 | |
| RUN adduser --system --shell /bin/false --home /opt/akkoma akkoma
 | |
| 
 | |
| # Clone the release build into a temporary directory and unpack it
 | |
| # then move the release to the home directory and delete temporary files
 | |
| RUN curl 'https://akkoma-updates.s3-website.fr-par.scw.cloud/stable/akkoma-amd64-musl.zip' -o /tmp/akkoma.zip && \
 | |
|     unzip /tmp/akkoma.zip -d /tmp/ && \
 | |
|     mv /tmp/release/* /opt/akkoma && \
 | |
|     rmdir /tmp/release && \
 | |
|     rm /tmp/akkoma.zip && \
 | |
|     chown akkoma -R /opt/akkoma
 | |
| 
 | |
| VOLUME /data
 | |
| VOLUME /config
 | |
| 
 | |
| WORKDIR /opt/akkoma
 | |
| 
 | |
| EXPOSE 4000
 | |
| 
 | |
| ENTRYPOINT [ "/entrypoint.sh" ]
 | |
| CMD [ "pleroma", "start" ]
 |