mirror of
https://github.com/BrenBroZAYT/gameyfin.git
synced 2026-06-13 16:40:01 +00:00
Release 2.3.0 (#804)
* chore: bump version to v2.3.0-preview * Customize start page (#803) * Update ConfigService to support complex Objects Implemented tests for ConfigService * Added DB migration for config table * Fixed version in banner.txt not being displayed * Implement Library ordering Implement "Show recently added games on homepage" * Fix build.gradle.kts * FIx bug when creating libraries * Fix TypeScript errors Fix library sorting * Bump actions/checkout from 5 to 6 (#811) Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added automatic scanning using file system watchers (#813) * Implement collections (#814) * Backend implementation for collections * Fix database schema and migration script * Refactor some config values Fix ArrayInput not being deactivatable * Remove "AutoRegisterNewUsers" config option * Fix bug when removing ignored paths * Add UI for collections (WIP) * Fix table actions not synced with state Fix tests * Finish implementation of collection feature * Fix tests * Bump actions/checkout from 5 to 6 (#815) Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix "allow guests to create game requests" not being enabled when guest access is activated * Fix: Disable loading of EditGameMetadataModal and MatchGameModal in GameView when user is not admin * Bump actions/checkout from 5 to 6 (#819) Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Overhaul startpage (#823) * WIP: Update start page layout * Performance improvements (lazy loading and virtualized grids/lists) Fix various smaller issues * Implement use of blurhash for all images in backend and covers in frontend * Fix bugs and test * Fix code analysis issues * Remove "UI settings" since they have been made obsolete * Remove length limit from "image.originalUrl" (#824) * Remove alpine based image (#825) * Fix bug when games from library are still in a collection, thus prevention deletion of said library * Delete image files in background * Fix layout --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
@@ -1,59 +0,0 @@
|
||||
# syntax=docker/dockerfile:1.4
|
||||
|
||||
FROM eclipse-temurin:21-jre-alpine as builder
|
||||
WORKDIR /opt/gameyfin
|
||||
ARG JAR_FILE=./app/build/libs/app.jar
|
||||
COPY ${JAR_FILE} application.jar
|
||||
RUN java -Djarmode=layertools -jar application.jar extract
|
||||
|
||||
# Pre-collect plugin JARs so final stage can copy them in a single layer
|
||||
COPY --link ./plugins/ /tmp/plugins/
|
||||
RUN mkdir -p /opt/gameyfin/plugins \
|
||||
&& find /tmp/plugins -type f -path "*/build/libs/*.jar" -exec cp {} /opt/gameyfin/plugins/ \; \
|
||||
&& rm -rf /tmp/plugins
|
||||
|
||||
|
||||
FROM eclipse-temurin:21-jre-alpine
|
||||
|
||||
# OCI labels
|
||||
LABEL maintainer="grimsi" \
|
||||
org.opencontainers.image.title="Gameyfin" \
|
||||
org.opencontainers.image.description="Manage your video games. simple/fast/FOSS" \
|
||||
org.opencontainers.image.url="https://gameyfin.org" \
|
||||
org.opencontainers.image.source="https://github.com/gameyfin/gameyfin" \
|
||||
org.opencontainers.image.licenses="AGPL-3.0-only" \
|
||||
org.opencontainers.image.vendor="Gameyfin" \
|
||||
org.opencontainers.image.authors="Gameyfin maintainers"
|
||||
|
||||
# Indicate docker runtime environment
|
||||
ENV RUNTIME_ENV=docker
|
||||
|
||||
# Install necessary packages
|
||||
RUN apk add --no-cache su-exec tini shadow gcompat
|
||||
|
||||
# Fixed runtime user/group
|
||||
ENV USER=gameyfin
|
||||
ARG UID=1337
|
||||
ARG GID=1337
|
||||
|
||||
WORKDIR /opt/gameyfin
|
||||
|
||||
# Create user and required directories
|
||||
RUN groupadd -g "$GID" "$USER" && \
|
||||
useradd -u "$UID" -g "$GID" -M -s /sbin/nologin "$USER" && \
|
||||
mkdir -p plugins plugindata db data logs && \
|
||||
chown -R "$UID:$GID" .
|
||||
|
||||
# Copy entrypoint script with proper perms and ownership
|
||||
COPY --link --chown=${UID}:${GID} --chmod=0755 ./docker/entrypoint.sh /entrypoint.sh
|
||||
|
||||
# Copy application layers and plugin jars from builder stage
|
||||
COPY --from=builder --link --chown=${UID}:${GID} /opt/gameyfin/dependencies/ ./
|
||||
COPY --from=builder --link --chown=${UID}:${GID} /opt/gameyfin/spring-boot-loader/ ./
|
||||
COPY --from=builder --link --chown=${UID}:${GID} /opt/gameyfin/snapshot-dependencies/ ./
|
||||
COPY --from=builder --link --chown=${UID}:${GID} /opt/gameyfin/application/ ./
|
||||
COPY --from=builder --link --chown=${UID}:${GID} /opt/gameyfin/plugins ./plugins
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
ENTRYPOINT ["/sbin/tini", "--", "/entrypoint.sh"]
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Optional UID/GID remapping for mounted volumes
|
||||
PUID=${PUID:-}
|
||||
PGID=${PGID:-}
|
||||
|
||||
if [ -n "$PGID" ]; then
|
||||
groupmod -o -g "$PGID" gameyfin
|
||||
fi
|
||||
if [ -n "$PUID" ]; then
|
||||
usermod -o -u "$PUID" gameyfin
|
||||
fi
|
||||
|
||||
# Only fix ownership on writable dirs when remapping is requested
|
||||
if [ -n "$PUID$PGID" ]; then
|
||||
for d in plugins plugindata db data logs; do
|
||||
[ -d "/opt/gameyfin/$d" ] || mkdir -p "/opt/gameyfin/$d"
|
||||
chown -R gameyfin:gameyfin "/opt/gameyfin/$d"
|
||||
done
|
||||
fi
|
||||
|
||||
export JAVA_TOOL_OPTIONS="${JAVA_OPTS:-}"
|
||||
|
||||
exec su-exec gameyfin:gameyfin java -Djava.net.preferIPv4Stack=true org.springframework.boot.loader.launch.JarLauncher
|
||||
Reference in New Issue
Block a user