diff --git a/ansible-5/roles/glusterfs-server/defaults/main.yaml b/ansible-5/roles/glusterfs-server/defaults/main.yaml index c615ffd..12a9bcd 100644 --- a/ansible-5/roles/glusterfs-server/defaults/main.yaml +++ b/ansible-5/roles/glusterfs-server/defaults/main.yaml @@ -26,6 +26,7 @@ volumes: - name: vmshares - name: mariadb - name: plex + - name: plex-data - name: nextcloud - name: nextcloud2 # - name: prometheus @@ -48,6 +49,7 @@ mounts: nextcloud: /data/glusterfs/nextcloud/brick1 nextcloud2: /data/glusterfs/nextcloud2/brick1 # dead plex: /data/glusterfs/plex/brick1 + plex-data: /data/glusterfs/plex-data/brick1 postgres: /data/glusterfs/postgres/brick1 # dead prometheus: /data/glusterfs/prometheus/brick1 tmp: /data/glusterfs/tmp/brick1 @@ -78,6 +80,9 @@ mounts: - name: plex status: mounted src: "UUID=57a3133c-6ca3-4974-9a0b-7efc8c0c533b" + - name: plex-data + status: mounted + src: "UUID=cdff8026-1d56-4cee-8c12-8c61dc587850" - name: nextcloud2 # dead status: mounted src: "UUID=ced31b8e-8404-4bff-b428-6411c54451a4" diff --git a/ansible-5/roles/prod.k3s/defaults/main.yml b/ansible-5/roles/prod.k3s/defaults/main.yml index 2ce0e6e..f38f36a 100644 --- a/ansible-5/roles/prod.k3s/defaults/main.yml +++ b/ansible-5/roles/prod.k3s/defaults/main.yml @@ -8,6 +8,9 @@ fstab: - name: plex path: "/opt/data/plex" state: mounted + - name: plex-data + path: "/opt/data/plex-data" + state: mounted # - name: jenkins # path: "/var/lib/jenkins" # state: mounted diff --git a/ansible-5/roles/prod.k3s/files/stash/pv-media-claim.yaml b/ansible-5/roles/prod.k3s/files/stash/pv-media-claim.yaml new file mode 100644 index 0000000..af7cae0 --- /dev/null +++ b/ansible-5/roles/prod.k3s/files/stash/pv-media-claim.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: stash-pv-media-claim + namespace: stashapp +spec: + storageClassName: manual + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi diff --git a/ansible-5/roles/prod.k3s/files/stash/pv-media.yaml b/ansible-5/roles/prod.k3s/files/stash/pv-media.yaml new file mode 100644 index 0000000..a3d17ad --- /dev/null +++ b/ansible-5/roles/prod.k3s/files/stash/pv-media.yaml @@ -0,0 +1,17 @@ +--- +# persistent volume +apiVersion: v1 +kind: PersistentVolume +metadata: + name: plex-pv-media-local + labels: + type: local +spec: + storageClassName: manual + capacity: + storage: 100Gi + accessModes: + - ReadWriteOnce + hostPath: + path: "/dev/mapper/plex-data" + diff --git a/ansible-5/roles/prod.k3s/files/stash/values.yaml b/ansible-5/roles/prod.k3s/files/stash/values.yaml index 3b1db24..9e9acd0 100644 --- a/ansible-5/roles/prod.k3s/files/stash/values.yaml +++ b/ansible-5/roles/prod.k3s/files/stash/values.yaml @@ -1,5 +1,6 @@ --- #values file for stash deployment +#https://github.com/k8s-at-home/charts/blob/master/charts/stable/stash/values.yaml image: repository: stashapp/stash diff --git a/ansible-5/roles/prod.k3s/tasks/deployments/stash.yaml b/ansible-5/roles/prod.k3s/tasks/deployments/stash.yaml index 7227832..3716382 100644 --- a/ansible-5/roles/prod.k3s/tasks/deployments/stash.yaml +++ b/ansible-5/roles/prod.k3s/tasks/deployments/stash.yaml @@ -20,6 +20,8 @@ loop: - stash/pv.yaml - stash/pv-claim.yaml +# - stash/pv-media.yaml +# - stash/pv-media-claim.yaml become: true - name: Add stash chart helm repo diff --git a/dockerfiles/services/stashapp/Dockerfile b/dockerfiles/services/stashapp/Dockerfile new file mode 100644 index 0000000..65fc458 --- /dev/null +++ b/dockerfiles/services/stashapp/Dockerfile @@ -0,0 +1,38 @@ +FROM stashapp/stash:latest as binary + +FROM ubuntu:22.04 + +COPY --from=binary /usr/bin/stash /usr/bin/stash +#RUN apk add --no-cache ca-certificates python3 py3-requests py3-requests-toolbelt py3-lxml py3-pip ffmpeg vips-tools ruby \ +# && pip install --no-cache-dir mechanicalsoup cloudscraper \ +# && gem install faraday + +RUN apt-get update && apt-get install -y \ + ca-certificates \ + python3 \ + python3-requests \ + python3-requests-toolbelt \ + python3-lxml \ + python3-pip \ + ffmpeg \ + libvips-tools \ + ruby \ + tcplay \ + && rm -rf /var/lib/apt/lists/* \ + && pip install --no-cache-dir mechanicalsoup cloudscraper \ + && gem install faraday + + +RUN ln -s /usr/bin/python3 /usr/bin/python +RUN mkdir -p /root/.stash +ENV STASH_CONFIG_FILE=/root/.stash/config.yml + +COPY ./entrypoint.sh /entrypoint +RUN chmod +x /entrypoint + +EXPOSE 9999 +CMD ["/entrypoint"] + +# Tests +RUN python --version | grep "Python 3."; \ + ruby --version | grep "ruby 3."; diff --git a/dockerfiles/services/stashapp/cli/.bash_cli b/dockerfiles/services/stashapp/cli/.bash_cli new file mode 100644 index 0000000..e69de29 diff --git a/dockerfiles/services/stashapp/cli/build b/dockerfiles/services/stashapp/cli/build new file mode 100755 index 0000000..b1f431b --- /dev/null +++ b/dockerfiles/services/stashapp/cli/build @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +echo -e "\033 building new docker image" + +docker build . -t xaicorp/stashapp:latest diff --git a/dockerfiles/services/stashapp/cli/build.help b/dockerfiles/services/stashapp/cli/build.help new file mode 100644 index 0000000..7aa5493 --- /dev/null +++ b/dockerfiles/services/stashapp/cli/build.help @@ -0,0 +1,3 @@ +ARGS - The arguments you wish to provide to this command + +TODO: Fill out the help information for this command. diff --git a/dockerfiles/services/stashapp/cli/build.usage b/dockerfiles/services/stashapp/cli/build.usage new file mode 100644 index 0000000..5226895 --- /dev/null +++ b/dockerfiles/services/stashapp/cli/build.usage @@ -0,0 +1 @@ +ARGS... diff --git a/dockerfiles/services/stashapp/cli/run b/dockerfiles/services/stashapp/cli/run new file mode 100755 index 0000000..04292ba --- /dev/null +++ b/dockerfiles/services/stashapp/cli/run @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +docker run --rm -p9999:9999 -v $(PWD)/test.tc:/test.tc xaicorp/stashapp diff --git a/dockerfiles/services/stashapp/cli/run.help b/dockerfiles/services/stashapp/cli/run.help new file mode 100644 index 0000000..7aa5493 --- /dev/null +++ b/dockerfiles/services/stashapp/cli/run.help @@ -0,0 +1,3 @@ +ARGS - The arguments you wish to provide to this command + +TODO: Fill out the help information for this command. diff --git a/dockerfiles/services/stashapp/cli/run.usage b/dockerfiles/services/stashapp/cli/run.usage new file mode 100644 index 0000000..5226895 --- /dev/null +++ b/dockerfiles/services/stashapp/cli/run.usage @@ -0,0 +1 @@ +ARGS... diff --git a/dockerfiles/services/stashapp/cli/shell b/dockerfiles/services/stashapp/cli/shell new file mode 100755 index 0000000..0243dc6 --- /dev/null +++ b/dockerfiles/services/stashapp/cli/shell @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -ex + +docker run --rm -it \ + -v $(pwd)/test.tc:/test.tc \ + -v $(pwd)/entrypoint.sh:/entrypoint \ + --privileged=true \ + xaicorp/stashapp:latest /bin/bash diff --git a/dockerfiles/services/stashapp/cli/shell.help b/dockerfiles/services/stashapp/cli/shell.help new file mode 100644 index 0000000..7aa5493 --- /dev/null +++ b/dockerfiles/services/stashapp/cli/shell.help @@ -0,0 +1,3 @@ +ARGS - The arguments you wish to provide to this command + +TODO: Fill out the help information for this command. diff --git a/dockerfiles/services/stashapp/cli/shell.usage b/dockerfiles/services/stashapp/cli/shell.usage new file mode 100644 index 0000000..5226895 --- /dev/null +++ b/dockerfiles/services/stashapp/cli/shell.usage @@ -0,0 +1 @@ +ARGS... diff --git a/dockerfiles/services/stashapp/docker-compose.yml b/dockerfiles/services/stashapp/docker-compose.yml new file mode 100644 index 0000000..568140d --- /dev/null +++ b/dockerfiles/services/stashapp/docker-compose.yml @@ -0,0 +1,8 @@ +--- + +services: + + app: + build: + context: . + dockerfile: Dockerfile diff --git a/dockerfiles/services/stashapp/entrypoint.sh b/dockerfiles/services/stashapp/entrypoint.sh new file mode 100644 index 0000000..9012f65 --- /dev/null +++ b/dockerfiles/services/stashapp/entrypoint.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env sh +set -ex + +echo "mount loop device" +mkdir /data +tcplay --map=data2 --device=`losetup -f --show /test.tc` +# losetup /dev/loop0 foo.tc +#tcplay -m test.tc -d /dev/loop0 +mount -o nodev,nosuid,uid=1000,gid=100 /dev/mapper/data2 /data + +echo "Starting stash app!" + +exec /usr/bin/stash + +echo "Goodbye!" diff --git a/dockerfiles/services/stashapp/test.tc b/dockerfiles/services/stashapp/test.tc new file mode 100644 index 0000000..e3105cd Binary files /dev/null and b/dockerfiles/services/stashapp/test.tc differ