Added docker workflow configuration
This commit is contained in:
parent
bb947d7aa7
commit
f69fe389e7
@ -41,4 +41,19 @@ jobs:
|
|||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: jar-artifact
|
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
|
10
Dockerfile
10
Dockerfile
@ -1,6 +1,8 @@
|
|||||||
FROM openjdk:23-jdk-slim
|
FROM openjdk:23-jdk-slim
|
||||||
LABEL authors="Walzen665"
|
LABEL authors="Walzen665"
|
||||||
VOLUME /tmp
|
WORKDIR /app
|
||||||
ARG JAR_FILE
|
COPY build/libs/*.jar /app/sharepulse.jar
|
||||||
COPY ${JAR_FILE} app.jar
|
COPY docker-entrypoint.sh /app/docker-entrypoint.sh
|
||||||
ENTRYPOINT ["java","-jar","/app.jar"]
|
EXPOSE 80
|
||||||
|
RUN chmod +x /app/docker-entrypoint.sh
|
||||||
|
ENTRYPOINT ["/app/docker-entrypoint.sh"]
|
31
docker-entrypoint.sh
Normal file
31
docker-entrypoint.sh
Normal 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
|
Loading…
x
Reference in New Issue
Block a user