aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dockerignore1
-rw-r--r--CODE_OF_CONDUCT.md4
-rw-r--r--Dockerfile19
-rwxr-xr-xdebian/rules3
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'