Compare commits
28 Commits
0.0.2
...
30cb32b0ad
| Author | SHA1 | Date | |
|---|---|---|---|
| 30cb32b0ad | |||
| df70b65ac3 | |||
| 949bfc38f8 | |||
| c5e5f643a2 | |||
| 5820156512 | |||
| 7cc4be7cd6 | |||
| 5e31ff9b69 | |||
| d910472db5 | |||
| ca56afad5d | |||
| 541aeee3c2 | |||
| 19257a0290 | |||
| 8d91e7d5a3 | |||
| c0671acf60 | |||
| 0b8300c774 | |||
| cac55d5f06 | |||
| aa3aadbb53 | |||
| da7fa9edd6 | |||
| a1a21e8d60 | |||
| dc2932cf51 | |||
| bb84e32719 | |||
| 12aa40b160 | |||
| 9d4fddcb2d | |||
| 4654cff158 | |||
| b1888fed96 | |||
| d7e8b3d62a | |||
| 56bfdda18c | |||
| fb3debfb49 | |||
| 49f812f867 |
26
Dockerfile
26
Dockerfile
@@ -1,14 +1,23 @@
|
|||||||
FROM --platform=$BUILDPLATFORM openjdk:21-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
|
WORKDIR /mxids
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN ./gradlew shadowJar
|
RUN ./gradlew shadowJar
|
||||||
|
|
||||||
FROM openjdk:21-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 /etc/mxids
|
||||||
VOLUME /var/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 SIGN_KEY_PATH="/var/mxids/sign.key"
|
||||||
ENV SQLITE_DATABASE_PATH="/var/mxids/mxids.db"
|
ENV SQLITE_DATABASE_PATH="/var/mxids/mxids.db"
|
||||||
|
|
||||||
CMD [ "/start.sh" ]
|
# 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
|
||||||
ADD src/docker/start.sh /start.sh
|
COPY src/script/mxids /app/mxids
|
||||||
ADD src/script/mxids /app/mxids
|
|
||||||
COPY --from=builder /mxids/build/libs/mxids.jar /app/mxids.jar
|
COPY --from=builder /mxids/build/libs/mxids.jar /app/mxids.jar
|
||||||
|
|
||||||
|
CMD ["/start.sh"]
|
||||||
|
|||||||
22
build.gradle
22
build.gradle
@@ -90,10 +90,10 @@ repositories {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// Logging
|
// Logging
|
||||||
api 'org.slf4j:slf4j-simple:2.0.12'
|
api 'org.slf4j:slf4j-simple:2.0.13'
|
||||||
|
|
||||||
// Easy file management
|
// Easy file management
|
||||||
api 'commons-io:commons-io:2.16.0'
|
api 'commons-io:commons-io:2.16.1'
|
||||||
|
|
||||||
// Config management
|
// Config management
|
||||||
api 'org.yaml:snakeyaml:1.33'
|
api 'org.yaml:snakeyaml:1.33'
|
||||||
@@ -101,7 +101,7 @@ dependencies {
|
|||||||
// Dependencies from old Matrix-java-sdk
|
// Dependencies from old Matrix-java-sdk
|
||||||
api 'org.apache.commons:commons-lang3:3.14.0'
|
api 'org.apache.commons:commons-lang3:3.14.0'
|
||||||
api 'com.squareup.okhttp3:okhttp:4.12.0'
|
api 'com.squareup.okhttp3:okhttp:4.12.0'
|
||||||
api 'commons-codec:commons-codec:1.16.1'
|
api 'commons-codec:commons-codec:1.17.0'
|
||||||
|
|
||||||
// ORMLite
|
// ORMLite
|
||||||
api 'com.j256.ormlite:ormlite-jdbc:6.1'
|
api 'com.j256.ormlite:ormlite-jdbc:6.1'
|
||||||
@@ -119,7 +119,7 @@ dependencies {
|
|||||||
api 'org.apache.httpcomponents:httpclient:4.5.14'
|
api 'org.apache.httpcomponents:httpclient:4.5.14'
|
||||||
|
|
||||||
// Phone numbers validation
|
// Phone numbers validation
|
||||||
api 'com.googlecode.libphonenumber:libphonenumber:8.13.34'
|
api 'com.googlecode.libphonenumber:libphonenumber:8.13.36'
|
||||||
|
|
||||||
// E-mail sending
|
// E-mail sending
|
||||||
api 'javax.mail:javax.mail-api:1.6.2'
|
api 'javax.mail:javax.mail-api:1.6.2'
|
||||||
@@ -129,22 +129,22 @@ dependencies {
|
|||||||
api 'com.google.firebase:firebase-admin:9.2.0'
|
api 'com.google.firebase:firebase-admin:9.2.0'
|
||||||
|
|
||||||
// Connection Pool
|
// Connection Pool
|
||||||
api 'com.mchange:c3p0:0.10.0'
|
api 'com.mchange:c3p0:0.10.1'
|
||||||
|
|
||||||
// SQLite
|
// SQLite
|
||||||
api 'org.xerial:sqlite-jdbc:3.45.2.0'
|
api 'org.xerial:sqlite-jdbc:3.45.3.0'
|
||||||
|
|
||||||
// PostgreSQL
|
// PostgreSQL
|
||||||
api 'org.postgresql:postgresql:42.7.3'
|
api 'org.postgresql:postgresql:42.7.3'
|
||||||
|
|
||||||
// MariaDB/MySQL
|
// MariaDB/MySQL
|
||||||
api 'org.mariadb.jdbc:mariadb-java-client:3.3.3'
|
api 'org.mariadb.jdbc:mariadb-java-client:3.5.6'
|
||||||
|
|
||||||
// UNIX sockets
|
// UNIX sockets
|
||||||
api 'com.kohlschutter.junixsocket:junixsocket-core:2.9.0'
|
api 'com.kohlschutter.junixsocket:junixsocket-core:2.9.1'
|
||||||
|
|
||||||
// Twilio SDK for SMS
|
// Twilio SDK for SMS
|
||||||
api 'com.twilio.sdk:twilio:10.1.3'
|
api 'com.twilio.sdk:twilio:10.1.5'
|
||||||
|
|
||||||
// SendGrid SDK to send emails from GCE
|
// SendGrid SDK to send emails from GCE
|
||||||
api 'com.sendgrid:sendgrid-java:4.10.2'
|
api 'com.sendgrid:sendgrid-java:4.10.2'
|
||||||
@@ -153,10 +153,10 @@ dependencies {
|
|||||||
api 'org.zeroturnaround:zt-exec:1.12'
|
api 'org.zeroturnaround:zt-exec:1.12'
|
||||||
|
|
||||||
// HTTP server
|
// HTTP server
|
||||||
api 'io.undertow:undertow-core:2.3.12.Final'
|
api 'io.undertow:undertow-core:2.3.19.Final'
|
||||||
|
|
||||||
// Command parser for AS interface
|
// Command parser for AS interface
|
||||||
api 'commons-cli:commons-cli:1.6.0'
|
api 'commons-cli:commons-cli:1.7.0'
|
||||||
|
|
||||||
testImplementation 'junit:junit:4.13.2'
|
testImplementation 'junit:junit:4.13.2'
|
||||||
testImplementation 'com.github.tomakehurst:wiremock:3.0.1'
|
testImplementation 'com.github.tomakehurst:wiremock:3.0.1'
|
||||||
|
|||||||
Reference in New Issue
Block a user