mirror of
https://github.com/BrenBroZAYT/gameyfin.git
synced 2026-06-13 16:40:01 +00:00
40 lines
1.1 KiB
Docker
40 lines
1.1 KiB
Docker
# syntax=docker/dockerfile:1.4
|
|
FROM eclipse-temurin:21-jre
|
|
|
|
MAINTAINER grimsi
|
|
|
|
# Install necessary packages
|
|
RUN apt-get update && \
|
|
apt-get install -y tini gosu && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV USER=gameyfin
|
|
|
|
RUN groupadd gameyfin && \
|
|
useradd -M -g gameyfin gameyfin
|
|
|
|
WORKDIR /opt/gameyfin
|
|
|
|
# Create necessary directories with appropriate permissions
|
|
RUN mkdir -p plugins db data logs && \
|
|
chown -R gameyfin:gameyfin .
|
|
|
|
# Copy entrypoint script and set permissions
|
|
COPY --chown=gameyfin:gameyfin ./docker/entrypoint.ubuntu.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
# Copy application jar (not ending with -plain.jar)
|
|
COPY --chown=gameyfin:gameyfin ./app/build/libs/ /tmp/app-libs/
|
|
RUN find /tmp/app-libs -type f -name "*.jar" ! -name "*-plain.jar" -exec cp {} gameyfin.jar \; && \
|
|
rm -rf /tmp/app-libs
|
|
|
|
# Copy all plugin jars
|
|
COPY --chown=gameyfin:gameyfin ./plugins/ /tmp/plugins/
|
|
RUN find /tmp/plugins -type f -path "*/build/libs/*.jar" -exec cp {} plugins/ \; && \
|
|
rm -rf /tmp/plugins
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["/usr/bin/tini", "--", "/entrypoint.sh"]
|
|
|