diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 06336c7..f909305 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -41,4 +41,19 @@ jobs: uses: actions/upload-artifact@v3 with: name: jar-artifact - path: build/libs/*.jar \ No newline at end of file + 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 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index d9ba0e6..2693ef9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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"] \ No newline at end of file +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"] \ No newline at end of file diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..b95daaf --- /dev/null +++ b/docker-entrypoint.sh @@ -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 \ No newline at end of file