Skip to content

Release v1.6.1

Choose a tag to compare

@github-actions github-actions released this 01 Mar 21:04
88aee27

What's Changed

  • Enhanced clientCredentialEnvelope to provide specific hints when WebCrypto is unavailable (e.g., non-secure context).
  • Introduced putSettingsWithSecretsCompatibility in MultiStepWizard to handle environments where encryption is unavailable.
  • feat(plex): add automatic server URL detection and connection fallback
  • Implements suggestPreferredServerBaseUrl in PlexService to automatically identify local and remote server connection candidates using the Plex API.
  • Enhances IntegrationsController to perform automatic fallback and persistence of working Plex base URLs (including plex.direct IP decoding) if the primary connection fails.
  • Updates PlexService.checkPin to return suggested base URLs upon successful OAuth authorization.
  • Updates the setup wizard and vault UI to auto-fill the Plex server URL when a connection is detected.
  • Adjusts curated collection visibility logic to pin collections to "Library Recommended" for both admins and friends.
  • Improves error handling and security by integrating client credential envelopes for sensitive settings updates in the wizard.

Full Changelog: https://github.com/ohmzi/Immaculaterr/compare/v1.5.6..v1.6.1

Updating

Docker

HTTP-only update (required)

IMM_IMAGE="ghcr.io/ohmzi/immaculaterr:latest"
APP_PORT=5454

docker pull "$IMM_IMAGE"
docker rm -f Immaculaterr 2>/dev/null || true

docker run -d \
  --name Immaculaterr \
  -p ${APP_PORT}:${APP_PORT} \
  -e HOST=0.0.0.0 \
  -e PORT=${APP_PORT} \
  -e TRUST_PROXY=1 \
  -e APP_DATA_DIR=/data \
  -e DATABASE_URL=file:/data/tcp.sqlite \
  -v immaculaterr-data:/data \
  --restart unless-stopped \
  "$IMM_IMAGE"

Optional HTTPS sidecar (can run anytime later)

set -euo pipefail

mkdir -p "$HOME/immaculaterr"

curl -fsSL -o "$HOME/immaculaterr/caddy-entrypoint.sh" \
  "https://raw.githubusercontent.com/ohmzi/Immaculaterr/master/docker/immaculaterr/caddy-entrypoint.sh"
curl -fsSL -o "$HOME/immaculaterr/install-local-ca.sh" \
  "https://raw.githubusercontent.com/ohmzi/Immaculaterr/master/docker/immaculaterr/install-local-ca.sh"
chmod +x "$HOME/immaculaterr/caddy-entrypoint.sh" "$HOME/immaculaterr/install-local-ca.sh"

# Needed so install-local-ca.sh can import trust into Firefox profiles
if ! command -v certutil >/dev/null 2>&1; then
  sudo apt-get update
  sudo apt-get install -y libnss3-tools
fi

docker pull caddy:2.8.4-alpine
docker rm -f ImmaculaterrHttps 2>/dev/null || true

# Keep named volumes stable so certs persist across restarts
docker volume create immaculaterr-caddy-data >/dev/null
docker volume create immaculaterr-caddy-config >/dev/null

docker run -d \
  --name ImmaculaterrHttps \
  --network host \
  -e IMM_ENABLE_HTTP=false \
  -e IMM_ENABLE_HTTPS=true \
  -e IMM_HTTPS_PORT=5464 \
  -e IMM_INCLUDE_LOCALHOST=true \
  -e IMM_ENABLE_LAN_IP=true \
  -e APP_INTERNAL_PORT=5454 \
  -v "$HOME/immaculaterr/caddy-entrypoint.sh:/etc/caddy/caddy-entrypoint.sh:ro" \
  -v immaculaterr-caddy-data:/data \
  -v immaculaterr-caddy-config:/config \
  --restart unless-stopped \
  caddy:2.8.4-alpine \
  /bin/sh /etc/caddy/caddy-entrypoint.sh

# CRITICAL: trust the current Caddy local CA
"$HOME/immaculaterr/install-local-ca.sh"

# Quick verify
curl -I https://localhost:5464

Portainer

  1. In Portainer: Containers → select Immaculaterr
  2. Click Recreate
  3. Enable Re-pull image
  4. Click Recreate