First release of my Akkoma Docker image
This commit is contained in:
		
							
								
								
									
										37
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | ||||
| 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" ] | ||||
							
								
								
									
										21
									
								
								entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| #!/bin/sh | ||||
| set -e | ||||
|  | ||||
| if [ "$1" = 'pleroma' ] || [ "$1" = 'pleroma_ctl' ] | ||||
| then | ||||
|  | ||||
|     mkdir -p /data/{uploads,static} | ||||
|     mkdir -p /config | ||||
|     chown -R akkoma /data /config | ||||
|  | ||||
|     echo $0: executing \"pleroma_ctl migrate\" | ||||
|  | ||||
|     pleroma_ctl migrate | ||||
|  | ||||
|     echo $0: executing \"$@\" | ||||
|  | ||||
|     exec su-exec akkoma "$@" | ||||
|  | ||||
| fi | ||||
|  | ||||
| exec "$@" | ||||
		Reference in New Issue
	
	Block a user