diff --git a/README.md b/README.md index 3a7b6ef..2736929 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ env: ENV_FILE_DIR: ... # Name of the network associated with the tunnel exposing services. SHARED_NETWORK_NAME: ... + # Path to the storage root. + STORAGE_DIR: ... ``` The `env.yml` file is ignored by version-control. diff --git a/services/Dockerfile-plex b/services/plex/Dockerfile-plex-app similarity index 100% rename from services/Dockerfile-plex rename to services/plex/Dockerfile-plex-app diff --git a/services/plex/build.sh b/services/plex/build.sh new file mode 100644 index 0000000..27a376f --- /dev/null +++ b/services/plex/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +source constants.sh + +docker build -t $APP_IMAGE_NAME:dev -f Dockerfile-plex-app . diff --git a/services/plex/constants.sh b/services/plex/constants.sh new file mode 100644 index 0000000..f4c5085 --- /dev/null +++ b/services/plex/constants.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export APP_NAME="plex" +export APP_CONTAINER_NAME=$APP_NAME-app +export APP_IMAGE_NAME=$CONTAINER_NAME_PREFIX-$APP_CONTAINER_NAME +export DB_CONTAINER_NAME=$APP_NAME-db +export DB_IMAGE_NAME=$CONTAINER_NAME_PREFIX-$DB_CONTAINER_NAME +export NETWORK_NAME=$APP_NAME-local diff --git a/services/plex/start.sh b/services/plex/start.sh new file mode 100644 index 0000000..f84ee09 --- /dev/null +++ b/services/plex/start.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +source constants.sh + +docker network create $NETWORK_NAME || echo "Network $NETWORK_NAME already exists" + +docker run \ + --detach \ + --network $NETWORK_NAME \ + --name $APP_CONTAINER_NAME \ + --env-file $ENV_FILE_DIR/plex.env \ + --publish 32401:32400 \ + --publish 32469:32469 \ + --publish 3005:3005 \ + --publish 8324:8324 \ + --publish 1900:1900/udp \ + --publish 32410:32410/udp \ + --publish 32412:32412/udp \ + --publish 32413:32413/udp \ + --publish 32414:32414/udp \ + --mount type=bind,source=$APP_DATA_DIR/plex/database,target=/config \ + --mount type=bind,source=$APP_DATA_DIR/plex/transcode,target=/transcode \ + --mount type=bind,source=$STORAGE_DIR/media,target=/data \ + $APP_IMAGE_NAME:dev diff --git a/services/plex/stop.sh b/services/plex/stop.sh new file mode 100644 index 0000000..871ff06 --- /dev/null +++ b/services/plex/stop.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +source constants.sh + +docker rm -f $APP_CONTAINER_NAME