joal/Dockerfile
laur89 ee3fd74ec9
Cleanup v2 (#172)
* more cleanup
- add some clarifying comments;
- TooManyAnnouncesFailedInARowException -> TooManyAnnouncesFailedInARawException;
- pre-compile regex Patterns where makes sense; mainly in BitTorrentClient;
- simplify regexes;
- ClientNotifier: remove setClient() method, provide Client instance only via constructor;
- prefer primitives over boxed types, eg in
  - NumwantProvider
  - BitTorrentClientConfig
  - AppConfiguration
  - SeedingSpeedHasChangedPayload.SpeedPayload
  - DigitRangeTransformedToHexWithoutLeadingZeroAlgorithm
  - KeyAlgorithm
  - HashNoLeadingZeroKeyAlgorithm
  - TimedOrAfterStartedAnnounceRefreshKeyGenerator
  - TimedRefreshKeyGenerator
  - RandomPoolWithChecksumPeerIdAlgorithm
  - TimedRefreshPeerIdGenerator
- change AnnouncerExecutor.currentlyRunning to ConcurrentHashMap; correct me if i'm wrong
  but looks like this is needed;
- move http-based tracker URI filtering logic from TrackerClient.announce() to
  TrackerClientUriProvider constructor, and throw if no http trackers are listed;
- add couple of additional IP providers to ConnectionHandler;
- SeedManager: add RequestConfig to the HttpClients builder, defining timeouts;
2023-02-07 15:54:08 +01:00

28 lines
636 B
Docker

# Builder image with jdk
FROM maven:3.8.3-eclipse-temurin-11 AS build
WORKDIR /build
COPY . /build/
RUN mvn -B --quiet package -DskipTests=true \
&& mkdir /artifact \
&& mv /build/target/jack-of-all-trades-*.jar /artifact/joal.jar
# Actual joal image with jre only
FROM eclipse-temurin:11.0.13_8-jre
LABEL name="joal"
LABEL maintainer="joal.contact@gmail.com"
LABEL url="https://github.com/anthonyraymond/joal"
LABEL vcs-url="https://github.com/anthonyraymond/joal"
WORKDIR /joal/
COPY --from=build /artifact/joal.jar /joal/joal.jar
VOLUME /data
ENTRYPOINT ["java", "-jar", "/joal/joal.jar"]
CMD ["--joal-conf=/data"]