Merge pull request 'feature/docker-image' (#11) from feature/docker-image into main
Reviewed-on: https://git.walzen665.de/Walzen665/sharepulse/pulls/11
This commit is contained in:
commit
32f159ff4d
@ -3,7 +3,7 @@ name: SharePulse Build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- '**'
|
||||
|
||||
jobs:
|
||||
build-jar:
|
||||
@ -41,4 +41,42 @@ 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: Initialize Docker runtime
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install ca-certificates curl gnupg lsb-release -y
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||
$(lsb_release -cs) stable" | \
|
||||
tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt-get update
|
||||
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin -y
|
||||
|
||||
- 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 walzen665/sharepulse:latest
|
||||
|
||||
- name: Tag Docker image
|
||||
run: docker tag walzen665/sharepulse:latest git.walzen665.de/walzen665/sharepulse:latest
|
||||
|
||||
- name: Log in to Gitea Docker Registry
|
||||
run: echo ${{ secrets.GITEAREGISTRYTOKEN }} | docker login -u ${{ secrets.GITEAREGISTRYUSERNAME }} --password-stdin https://git.walzen665.de
|
||||
|
||||
- name: Push Docker Image to Gitea
|
||||
run: docker push git.walzen665.de/walzen665/sharepulse:latest
|
10
Dockerfile
10
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"]
|
||||
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
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