Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
d7e8b3d62a | |||
56bfdda18c | |||
fb3debfb49 | |||
49f812f867 | |||
de0a3152c3 | |||
cc5d047c3f | |||
350776df17 | |||
7b6560e9c8 | |||
dfad9d9ce8 | |||
d2fc4e3bef | |||
4416c17216 |
26
Dockerfile
26
Dockerfile
@@ -1,14 +1,23 @@
|
||||
FROM --platform=$BUILDPLATFORM openjdk:8-jre-alpine 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 apk update && apk add 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:8-jre-alpine
|
||||
# Second stage: Setup the runtime container
|
||||
FROM openjdk:21-jdk-bullseye
|
||||
|
||||
RUN apk update && apk add 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"]
|
||||
|
@@ -93,7 +93,7 @@ dependencies {
|
||||
api 'org.slf4j:slf4j-simple:2.0.12'
|
||||
|
||||
// Easy file management
|
||||
api 'commons-io:commons-io:2.15.1'
|
||||
api 'commons-io:commons-io:2.16.0'
|
||||
|
||||
// Config management
|
||||
api 'org.yaml:snakeyaml:1.33'
|
||||
@@ -119,7 +119,7 @@ dependencies {
|
||||
api 'org.apache.httpcomponents:httpclient:4.5.14'
|
||||
|
||||
// Phone numbers validation
|
||||
api 'com.googlecode.libphonenumber:libphonenumber:8.13.33'
|
||||
api 'com.googlecode.libphonenumber:libphonenumber:8.13.34'
|
||||
|
||||
// E-mail sending
|
||||
api 'javax.mail:javax.mail-api:1.6.2'
|
||||
@@ -144,7 +144,7 @@ dependencies {
|
||||
api 'com.kohlschutter.junixsocket:junixsocket-core:2.9.0'
|
||||
|
||||
// Twilio SDK for SMS
|
||||
api 'com.twilio.sdk:twilio:10.1.2'
|
||||
api 'com.twilio.sdk:twilio:10.1.3'
|
||||
|
||||
// SendGrid SDK to send emails from GCE
|
||||
api 'com.sendgrid:sendgrid-java:4.10.2'
|
||||
|
Reference in New Issue
Block a user