diff --git a/Pinchflat/.env.example b/Pinchflat/.env.example new file mode 100644 index 0000000..5c56b71 --- /dev/null +++ b/Pinchflat/.env.example @@ -0,0 +1,36 @@ +# Pinchflat + +# Docker image tag to use (e.g. "latest" or a pinned version like "v2024.5.30") +PINCHFLAT_VERSION=latest + +# IANA timezone name for the container (e.g. America/Chicago, America/New_York) +PINCHFLAT_TZ=America/Chicago + +# Host port to expose the Pinchflat web UI on +PINCHFLAT_PORT=8945 + +# Host path where downloaded media will be stored +PINCHFLAT_DOWNLOAD=/path/to/downloads + +# Auth - required for production + +# Username for HTTP basic auth on the web UI +PINCHFLAT_AUTH_USER=admin + +# Password for HTTP basic auth — use a strong random value +PINCHFLAT_AUTH_PASS=changeme + +# Secret used to sign/encrypt session cookies — generate with: openssl rand -hex 64 +# Changing this will invalidate all active sessions +PINCHFLAT_SECRET_KEY= + +# Controls default permissions on created files (022 = owner rw, group/other r) +PINCHFLAT_UMASK=022 + +# NFS + +# IP address or hostname of the NFS server +PINCHFLAT_NFS_SERVER=192.168.1.x + +# NFS export path on the server (e.g. :/mnt/pool/pinchflat) +PINCHFLAT_NFS_DEVICE=:/path/to/nfs/share diff --git a/Pinchflat/docker-compose-nfs.yaml b/Pinchflat/docker-compose-nfs.yaml new file mode 100644 index 0000000..3aae929 --- /dev/null +++ b/Pinchflat/docker-compose-nfs.yaml @@ -0,0 +1,28 @@ +services: + app: + image: keglin/pinchflat:${PINCHFLAT_VERSION:-latest} + container_name: pinchflat-app + environment: + - TZ=${PINCHFLAT_TZ:-America/Los_Angeles} + - LOG_LEVEL=info + - JOURNAL_MODE=delete + - YT_DLP_WORKER_CONCURRENCY=1 + - BASIC_AUTH_USERNAME=${PINCHFLAT_AUTH_USER:-admin} + - BASIC_AUTH_PASSWORD=${PINCHFLAT_AUTH_PASS:-changeme} + - SECRET_KEY_BASE=${PINCHFLAT_SECRET_KEY} + - UMASK=${PINCHFLAT_UMASK:-022} + ports: + - ${PINCHFLAT_PORT:-8945}:8945 + volumes: + - pinchflat-app:/config + - ${PINCHFLAT_DOWNLOAD}:/downloads + restart: unless-stopped + +volumes: + pinchflat-app: + name: pinchflat-app + driver: local + driver_opts: + type: nfs + o: "addr=${PINCHFLAT_NFS_SERVER},rw,noatime,rsize=65536,wsize=65536,timeo=600,nfsvers=4" + device: "${PINCHFLAT_NFS_DEVICE}" \ No newline at end of file