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
|
||||
mainClassName = 'com.annimon.similarimagesbot.Main'
|
||||
group 'com.annimon'
|
||||
version '1.0-SNAPSHOT'
|
||||
version '1.0'
|
||||
|
||||
repositories {
|
||||
jcenter()
|
||||
|
@ -10,13 +10,20 @@ public class Main {
|
||||
final ImageIndexer indexer = new ImageIndexer();
|
||||
final var handler = new BotHandler(botToken, indexer);
|
||||
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();
|
||||
} else {
|
||||
System.out.println("Started in listen mode");
|
||||
handler.run();
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isOnceMode() {
|
||||
final var mode = stringProp("MODE").orElse("once");
|
||||
return mode.equalsIgnoreCase("once");
|
||||
}
|
||||
|
||||
private static Optional<String> stringProp(String name) {
|
||||
return Optional.ofNullable(System.getenv(name))
|
||||
.or(() -> Optional.ofNullable(System.getProperty(name)));
|
||||
|
Loading…
Reference in New Issue
Block a user