mirror of
https://github.com/annimon-tutorials/Similar-Images-Bot.git
synced 2024-09-20 03:34:19 +03:00
Add docker files
This commit is contained in:
parent
e21f34c10e
commit
d26caebd3f
5
.dockerignore
Normal file
5
.dockerignore
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
.gradle
|
||||||
|
.build-cache
|
||||||
|
.idea
|
||||||
|
build
|
||||||
|
README.md
|
20
Dockerfile
Normal file
20
Dockerfile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
FROM gradle:6.6.1-jdk11 AS cache
|
||||||
|
RUN mkdir -p /home/gradle/cache_home
|
||||||
|
ENV GRADLE_USER_HOME=/home/gradle/cache_home
|
||||||
|
COPY build.gradle /home/gradle/java-code/
|
||||||
|
WORKDIR /home/gradle/java-code
|
||||||
|
RUN GRADLE_OPTS="-Xmx256m" gradle build --build-cache --stacktrace -i --no-daemon
|
||||||
|
|
||||||
|
FROM gradle:6.6.1-jdk11 as builder
|
||||||
|
COPY --from=cache /home/gradle/cache_home /home/gradle/.gradle
|
||||||
|
COPY . /usr/src/java-code
|
||||||
|
WORKDIR /usr/src/java-code
|
||||||
|
RUN GRADLE_OPTS="-Xmx256m" gradle shadowJar --build-cache --stacktrace --no-daemon
|
||||||
|
|
||||||
|
FROM openjdk:11
|
||||||
|
RUN mkdir -p /app
|
||||||
|
COPY --from=builder /usr/src/java-code/build/libs/SimilarImagesBot-1.0-all.jar /app/SimilarImagesBot-1.0-all.jar
|
||||||
|
ENV BOT_TOKEN ''
|
||||||
|
ENV ADMIN_ID 0
|
||||||
|
ENV MODE 'once'
|
||||||
|
CMD java -jar /app/SimilarImagesBot-1.0-all.jar
|
@ -8,7 +8,7 @@ sourceCompatibility = 11
|
|||||||
targetCompatibility = 11
|
targetCompatibility = 11
|
||||||
mainClassName = 'com.annimon.similarimagesbot.Main'
|
mainClassName = 'com.annimon.similarimagesbot.Main'
|
||||||
group 'com.annimon'
|
group 'com.annimon'
|
||||||
version '1.0-SNAPSHOT'
|
version '1.0'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
jcenter()
|
||||||
|
@ -10,13 +10,20 @@ public class Main {
|
|||||||
final ImageIndexer indexer = new ImageIndexer();
|
final ImageIndexer indexer = new ImageIndexer();
|
||||||
final var handler = new BotHandler(botToken, indexer);
|
final var handler = new BotHandler(botToken, indexer);
|
||||||
handler.setAdminId(longProp("ADMIN_ID").orElse(0L));
|
handler.setAdminId(longProp("ADMIN_ID").orElse(0L));
|
||||||
if (args.length == 1 && args[0].equalsIgnoreCase("once")) {
|
if (isOnceMode() || (args.length == 1 && args[0].equalsIgnoreCase("once"))) {
|
||||||
|
System.out.println("Started in once mode");
|
||||||
handler.runOnce();
|
handler.runOnce();
|
||||||
} else {
|
} else {
|
||||||
|
System.out.println("Started in listen mode");
|
||||||
handler.run();
|
handler.run();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isOnceMode() {
|
||||||
|
final var mode = stringProp("MODE").orElse("once");
|
||||||
|
return mode.equalsIgnoreCase("once");
|
||||||
|
}
|
||||||
|
|
||||||
private static Optional<String> stringProp(String name) {
|
private static Optional<String> stringProp(String name) {
|
||||||
return Optional.ofNullable(System.getenv(name))
|
return Optional.ofNullable(System.getenv(name))
|
||||||
.or(() -> Optional.ofNullable(System.getProperty(name)));
|
.or(() -> Optional.ofNullable(System.getProperty(name)));
|
||||||
|
Loading…
Reference in New Issue
Block a user