diff options
| -rw-r--r-- | .dockerignore | 1 | ||||
| -rw-r--r-- | CODE_OF_CONDUCT.md | 4 | ||||
| -rw-r--r-- | Dockerfile | 19 | ||||
| -rwxr-xr-x | debian/rules | 3 |
4 files changed, 25 insertions, 2 deletions
diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..6b8710a71 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.git diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..b902f2476 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,4 @@ +1. Don't sneakily relicense free software. +2. Don't continually nag users to give you money. +3. Don't hide binary blobs in otherwise free software. +4. Don't needlessly obfuscate the build process or any other part of free software. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..66c8884aa --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +ARG DOTNET_VERSION=2 + +FROM microsoft/dotnet:${DOTNET_VERSION}-sdk as builder +WORKDIR /repo +COPY . . +ARG CONFIGURATION=RELEASE +RUN dotnet clean \ + && dotnet build --configuration ${CONFIGURATION} $(pwd)/MediaBrowser.sln \ + && dotnet publish --configuration ${CONFIGURATION} $(pwd)/MediaBrowser.sln --output /jellyfin + +FROM microsoft/dotnet:${DOTNET_VERSION}-runtime +COPY --from=builder /jellyfin /jellyfin +RUN apt update \ + && apt install -y ffmpeg gosu +EXPOSE 8096 +VOLUME /config /media +ENV PUID=1000 PGID=1000 +ENTRYPOINT chown $PUID:$PGID /config /media \ + && gosu $PUID:$PGID dotnet /jellyfin/EmbyServer.dll -programdata /config diff --git a/debian/rules b/debian/rules index 3d596ddde..ef697f173 100755 --- a/debian/rules +++ b/debian/rules @@ -14,8 +14,7 @@ override_dh_auto_test: override_dh_clistrip: override_dh_auto_build: - git submodule init - git submodule update + git submodule update --init dotnet build --configuration $(CONFIG) $(CURDIR)/MediaBrowser.sln --output='$(CURDIR)/usr/lib/jellyfin/bin' dotnet publish --configuration $(CONFIG) $(CURDIR)/MediaBrowser.sln --output='$(CURDIR)/usr/lib/jellyfin/bin' |
