Skip to content

Commit d26caeb

Browse files
committed
Add docker files
1 parent e21f34c commit d26caeb

File tree

4 files changed

+34
-2
lines changed

4 files changed

+34
-2
lines changed

.dockerignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.gradle
2+
.build-cache
3+
.idea
4+
build
5+
README.md

Dockerfile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM gradle:6.6.1-jdk11 AS cache
2+
RUN mkdir -p /home/gradle/cache_home
3+
ENV GRADLE_USER_HOME=/home/gradle/cache_home
4+
COPY build.gradle /home/gradle/java-code/
5+
WORKDIR /home/gradle/java-code
6+
RUN GRADLE_OPTS="-Xmx256m" gradle build --build-cache --stacktrace -i --no-daemon
7+
8+
FROM gradle:6.6.1-jdk11 as builder
9+
COPY --from=cache /home/gradle/cache_home /home/gradle/.gradle
10+
COPY . /usr/src/java-code
11+
WORKDIR /usr/src/java-code
12+
RUN GRADLE_OPTS="-Xmx256m" gradle shadowJar --build-cache --stacktrace --no-daemon
13+
14+
FROM openjdk:11
15+
RUN mkdir -p /app
16+
COPY --from=builder /usr/src/java-code/build/libs/SimilarImagesBot-1.0-all.jar /app/SimilarImagesBot-1.0-all.jar
17+
ENV BOT_TOKEN ''
18+
ENV ADMIN_ID 0
19+
ENV MODE 'once'
20+
CMD java -jar /app/SimilarImagesBot-1.0-all.jar

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ sourceCompatibility = 11
88
targetCompatibility = 11
99
mainClassName = 'com.annimon.similarimagesbot.Main'
1010
group 'com.annimon'
11-
version '1.0-SNAPSHOT'
11+
version '1.0'
1212

1313
repositories {
1414
jcenter()

src/main/java/com/annimon/similarimagesbot/Main.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,20 @@ public static void main(String[] args) {
1010
final ImageIndexer indexer = new ImageIndexer();
1111
final var handler = new BotHandler(botToken, indexer);
1212
handler.setAdminId(longProp("ADMIN_ID").orElse(0L));
13-
if (args.length == 1 && args[0].equalsIgnoreCase("once")) {
13+
if (isOnceMode() || (args.length == 1 && args[0].equalsIgnoreCase("once"))) {
14+
System.out.println("Started in once mode");
1415
handler.runOnce();
1516
} else {
17+
System.out.println("Started in listen mode");
1618
handler.run();
1719
}
1820
}
1921

22+
private static boolean isOnceMode() {
23+
final var mode = stringProp("MODE").orElse("once");
24+
return mode.equalsIgnoreCase("once");
25+
}
26+
2027
private static Optional<String> stringProp(String name) {
2128
return Optional.ofNullable(System.getenv(name))
2229
.or(() -> Optional.ofNullable(System.getProperty(name)));

0 commit comments

Comments
 (0)