Compare commits

..

10 Commits

2 changed files with 22 additions and 12 deletions

View File

@@ -1,14 +1,23 @@
FROM --platform=$BUILDPLATFORM openjdk:22-ea-21-jdk-slim-bullseye AS builder
# Use a specific version of OpenJDK based on Debian ("bullseye" in this case)
FROM --platform=$BUILDPLATFORM openjdk:21-jdk-bullseye AS builder
RUN apt update && apt install gradle git && rm -rf /var/lib/apk/* /var/cache/apk/*
# Replace 'apk' commands with 'apt-get' for Debian-based package management.
# Install required packages such as 'git' and 'gradle'. Remember to update and clean up properly.
RUN apt-get update && \
apt-get install -y gradle git && \
rm -rf /var/lib/apt/lists/*
WORKDIR /mxids
COPY . .
RUN ./gradlew shadowJar
FROM openjdk:22-ea-21-jdk-slim-bullseye
# Second stage: Setup the runtime container
FROM openjdk:21-jdk-bullseye
RUN apt update && apt install bash && rm -rf /var/lib/apk/* /var/cache/apk/*
# Again, switch to 'apt-get' for installing 'bash'. Clean up to keep the image size down.
RUN apt-get update && \
apt-get install -y bash && \
rm -rf /var/lib/apt/lists/*
VOLUME /etc/mxids
VOLUME /var/mxids
@@ -19,8 +28,9 @@ ENV CONF_FILE_PATH="/etc/mxids/mxids.yaml"
ENV SIGN_KEY_PATH="/var/mxids/sign.key"
ENV SQLITE_DATABASE_PATH="/var/mxids/mxids.db"
CMD [ "/start.sh" ]
ADD src/docker/start.sh /start.sh
ADD src/script/mxids /app/mxids
# It's usually a good practice to use 'COPY' instead of 'ADD' for local files unless you need the extra capabilities of 'ADD' (like auto-extracting tar files).
COPY src/docker/start.sh /start.sh
COPY src/script/mxids /app/mxids
COPY --from=builder /mxids/build/libs/mxids.jar /app/mxids.jar
CMD ["/start.sh"]

View File

@@ -90,10 +90,10 @@ repositories {
dependencies {
// Logging
api 'org.slf4j:slf4j-simple:2.0.12'
api 'org.slf4j:slf4j-simple:2.0.13'
// Easy file management
api 'commons-io:commons-io:2.16.0'
api 'commons-io:commons-io:2.16.1'
// Config management
api 'org.yaml:snakeyaml:1.33'
@@ -132,7 +132,7 @@ dependencies {
api 'com.mchange:c3p0:0.10.0'
// SQLite
api 'org.xerial:sqlite-jdbc:3.45.2.0'
api 'org.xerial:sqlite-jdbc:3.45.3.0'
// PostgreSQL
api 'org.postgresql:postgresql:42.7.3'
@@ -141,7 +141,7 @@ dependencies {
api 'org.mariadb.jdbc:mariadb-java-client:3.3.3'
// UNIX sockets
api 'com.kohlschutter.junixsocket:junixsocket-core:2.9.0'
api 'com.kohlschutter.junixsocket:junixsocket-core:2.9.1'
// Twilio SDK for SMS
api 'com.twilio.sdk:twilio:10.1.3'