Added docker workflow configuration

This commit is contained in:
Max W. 2024-02-24 20:18:53 +01:00
parent bb947d7aa7
commit f69fe389e7
3 changed files with 53 additions and 5 deletions

View File

@ -41,4 +41,19 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: jar-artifact
path: build/libs/*.jar
path: build/libs/*.jar
build-docker-image:
needs: build-jar
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: jar-artifact
path: build/libs
- name: Build Docker Image
run: docker build . -t sharepulse:latest

View File

@ -1,6 +1,8 @@
FROM openjdk:23-jdk-slim
LABEL authors="Walzen665"
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
WORKDIR /app
COPY build/libs/*.jar /app/sharepulse.jar
COPY docker-entrypoint.sh /app/docker-entrypoint.sh
EXPOSE 80
RUN chmod +x /app/docker-entrypoint.sh
ENTRYPOINT ["/app/docker-entrypoint.sh"]

31
docker-entrypoint.sh Normal file
View File

@ -0,0 +1,31 @@
#!/bin/bash
# Use environment variables or default values
RETHINKDB_HOST=${RETHINKDB_HOST:-localhost}
RETHINKDB_PORT=${RETHINKDB_PORT:-28015}
RETHINKDB_DATABASE=${RETHINKDB_DATABASE:-sharepulse}
SHAREPULSE_FILEPASSWORD_LENGTH=${SHAREPULSE_FILEPASSWORD_LENGTH:-6}
SHAREPULSE_FILEID_LENGTH=${SHAREPULSE_FILEID_LENGTH:-6}
SHAREPULSE_TEMP_FILESTORE_PATH=${SHAREPULSE_TEMP_FILESTORE_PATH:-/temp-filestore}
SHAREPULSE_AUTO_RESET_ON_STARTUP=${SHAREPULSE_AUTO_RESET_ON_STARTUP:-true}
MAX_FILE_SIZE=${MAX_FILE_SIZE:-1GB}
MAX_REQUEST_SIZE=${MAX_REQUEST_SIZE:-1GB}
# Inject environment variables into application.properties or use SPRING_APPLICATION_JSON
export SPRING_APPLICATION_JSON=$(cat << EOF
{
"rethinkdb.host": "$RETHINKDB_HOST",
"rethinkdb.port": $RETHINKDB_PORT,
"rethinkdb.database": "$RETHINKDB_DATABASE",
"sharepulse.filepassword.length": $SHAREPULSE_FILEPASSWORD_LENGTH,
"sharepulse.fileid.length": $SHAREPULSE_FILEID_LENGTH,
"sharepulse.temp-filestore-path": "$SHAREPULSE_TEMP_FILESTORE_PATH",
"sharepulse.auto-reset-on-startup": $SHAREPULSE_AUTO_RESET_ON_STARTUP,
"spring.servlet.multipart.max-file-size": "$MAX_FILE_SIZE",
"spring.servlet.multipart.max-request-size": "$MAX_REQUEST_SIZE"
}
EOF
)
# Execute the jar file
exec java -jar sharepulse.jar