user 7 vuotta sitten
commit
e63e7c28bb
5 muutettua tiedostoa jossa 91 lisäystä ja 0 poistoa
  1. 6 0
      .gitignore
  2. 11 0
      Dockerfile
  3. 38 0
      Makefile
  4. 28 0
      init_container
  5. 8 0
      plex.supervisor.conf

+ 6 - 0
.gitignore

@@ -0,0 +1,6 @@
+/.env
+/.idea
+/ipfsdata
+/staging
+/plex
+/media

+ 11 - 0
Dockerfile

@@ -0,0 +1,11 @@
+FROM ipfsnode:latest
+
+RUN apt-get -y install wget && \
+    curl https://vcs.bsch.ca/public/binaries-amd64/raw/master/plexmediaserver_1.13.4.5271-200287a06_amd64.deb > /tmp/plexmediaserver_1.13.4.5271-200287a06_amd64.deb && \
+    dpkg -i /tmp/plexmediaserver_1.13.4.5271-200287a06_amd64.deb && \
+    rm -f /tmp/plexmediaserver_1.13.4.5271-200287a06_amd64.deb
+
+VOLUME /var/lib/plexmediaserver
+VOLUME /media
+
+ADD plex.supervisor.conf /etc/supervisor/conf.d/

+ 38 - 0
Makefile

@@ -0,0 +1,38 @@
+-include .env
+
+NAME ?= ipfsplexhead:latest
+ID ?= ipfsplexhead
+LOCAL_DIR ?= /tmp/ipfsdata
+LOCAL_STAGING_DIR ?= /tmp/staging
+LOCAL_PLEX_DIR ?= /tmp/plex
+MEDIA_DIR ?= /tmp/media
+
+default: build
+
+init:
+	bash init_container
+
+build:
+	docker build $(BUILD_OPTIONS) -t $(NAME) .
+
+shell:
+	docker exec -it $(ID) /bin/bash
+
+run:
+	mkdir -p $(LOCAL_DIR) $(LOCAL_STAGING_DIR) $(LOCAL_PLEX_DIR) $(MEDIA_DIR)
+	docker run --name $(ID) -v $(MEDIA_DIR):/media -v $(LOCAL_PLEX_DIR):/var/lib/plexmediaserver -v $(LOCAL_STAGING_DIR):/staging -v $(LOCAL_DIR):/home/ipfs/.ipfs $(NAME)
+
+start:
+	docker start -ia $(ID)
+
+daemon:
+	docker start $(ID)
+
+stop:
+	docker stop $(ID)
+
+rm: stop
+	docker rm $(ID)
+
+ps:
+	docker ps -a

+ 28 - 0
init_container

@@ -0,0 +1,28 @@
+#!/bin/bash
+
+set -e
+set -x
+
+base="$( cd "$(dirname "$0")" ; pwd -P )"
+
+if [ -e "$base/.env" ]; then
+	echo >&2 ".env already exists"
+	exit 0
+fi
+
+data_dir="$base/ipfsdata"
+staging_dir="$base/staging"
+plex_dir="$base/plex"
+media_dir="$base/media"
+
+mkdir -p "$data_dir" "$staging_dir" "$plex_dir" "$media_dir"
+chown 1000:1000 "$data_dir" "$staging_dir" "$plex_dir" "$media_dir" || true
+
+cat <<EOF >"$base/.env"
+LOCAL_DIR = $data_dir
+LOCAL_STAGING_DIR = $staging_dir
+LOCAL_PLEX_DIR = $plex_dir
+MEDIA_DIR = $media_dir
+EOF
+
+exit 0

+ 8 - 0
plex.supervisor.conf

@@ -0,0 +1,8 @@
+[program:plex]
+user=plex
+command=/usr/sbin/start_pms
+stdout_logfile=/dev/stdout
+stdout_logfile_maxbytes=0
+stderr_logfile=/dev/stderr
+stderr_logfile_maxbytes=0
+environment=HOME="/var/lib/plexmediaserver",USER="plex"