﻿ZAPTVIO Server — Technical preview, 27 October 2026

RELEASE STATUS
This package contains source and Docker Compose files for a local build. It is
not a prebuilt Docker image or a final commercial release. The server has been
tested on Linux amd64 / Synology DS220+. ARM and Windows are not claimed as tested.

Production Pro activation is still pending the first App Store release. The
numeric Apple app ID and real purchase validation remain to be finalized.
This package enforces production mode and does not enable development Pro access.
Do not invent a ZAPTVIO_APP_APPLE_ID. You can inspect and prepare the installation;
recording activation requires the released product and verified Pro access.

PREPARATION
1. Install Docker Engine with Docker Compose, or Synology Container Manager.
2. Extract the package to a dedicated directory.
3. Create empty config and recordings directories.
4. Copy .env.example to .env. Set the NAS/server LAN address and bind address.
   Set UID/GID to the local account owning config and recordings (run id).
   Do not run the service as root.
5. Set the production App Store app ID when it becomes available.
6. From the project directory, run:
   docker compose config --quiet
   docker compose build
   docker compose up -d
   On Synology, you can also import the project in Container Manager.

FIRST START
Open the private link in config/setup-link.txt on your local network. It expires
after 30 minutes. Set an administrator password of at least 12 characters.
To renew an unused activation link:
   docker compose exec zaptvio-server python -m zaptvio_server.admin setup
Never share that link, server configuration or server keys.

PAIRING APPLE TV
In My server, create a pairing link. It lasts five minutes and can be used once.
Add it in ZAPTVIO > Settings > Playback > Downloads and DVR > ZAPTVIO Server, or
through ZAPTVIO's local web interface. Select ZAPTVIO Server for future recordings.
Jellyfin is configured separately; Gelato is not included in this package.

NETWORK AND STREAMS
HTTPS uses port 8443 on your local network. Do not expose it to the Internet.
The app verifies the paired server certificate. Apple TV's VPN does not cover
the NAS. Each recording opens a provider connection; respect your subscription's
limit, including simultaneous watching. No channels, playlists or content are included.

UPDATES AND BACKUPS
Keep the database, secrets.key, certificates and their private keys together,
alongside your videos. Stop the container before making a full backup copy.
Avoid updates during recordings. Run docker compose build, then docker compose
up -d while retaining mounted folders. Do not use down -v.
See README.md, ACCESS.md and COMMERCIALS.md for further limitations (French).


======================================================================

ZAPTVIO Server — Préversion technique du 27 octobre 2026

ÉTAT DE CETTE VERSION
Ce paquet fournit les sources et les fichiers Docker Compose nécessaires à une
construction locale. Ce n'est pas une image Docker précompilée ni une version
commerciale finale. Le serveur a été testé sur Linux amd64, sur Synology DS220+.
Aucune validation ARM ou Windows n'est annoncée.

L'activation Pro de production dépend encore de la première publication App Store.
L'identifiant numérique Apple de l'application et les achats réels restent à
finaliser. Le paquet impose le mode production : aucun déblocage Pro de développement
n'est activé. Ne substituez pas un identifiant inventé à ZAPTVIO_APP_APPLE_ID.
Vous pouvez examiner et préparer l'installation ; l'activation des enregistrements
reste conditionnée à la disponibilité du produit et à un achat Pro vérifié.

PRÉPARATION
1. Installez Docker Engine avec Docker Compose, ou Container Manager sur Synology.
2. Extrayez le paquet dans un dossier dédié. Conservez INSTALLATION.txt.
3. Créez deux dossiers vides : config et recordings.
4. Copiez .env.example en .env. Indiquez l'adresse locale de votre serveur et
   l'adresse de son interface réseau. Utilisez les UID/GID du compte qui possède
   config et recordings (commande id). Le service ne doit pas tourner en root.
5. Lorsque l'identifiant App Store de production est disponible, renseignez-le.
6. Depuis le dossier du projet :
   docker compose config --quiet
   docker compose build
   docker compose up -d
   Sur Synology, vous pouvez aussi importer le projet dans Container Manager.

PREMIER LANCEMENT
Ouvrez le lien privé contenu dans config/setup-link.txt depuis votre réseau local.
Le lien expire après 30 minutes. Définissez un mot de passe administrateur d'au
moins 12 caractères. Pour renouveler un lien non utilisé :
   docker compose exec zaptvio-server python -m zaptvio_server.admin setup
Ne partagez ni ce lien, ni la configuration, ni les clés du serveur.

ASSOCIATION À L'APPLE TV
Dans Mon serveur, créez un lien d'association. Il est valable cinq minutes et
utilisable une seule fois. Ajoutez-le dans ZAPTVIO > Réglages > Lecture >
Téléchargements et DVR > ZAPTVIO Server, ou via l'interface web locale de ZAPTVIO.
Choisissez ensuite ZAPTVIO Server comme moteur des futurs enregistrements.
Jellyfin se configure séparément ; Gelato n'est pas inclus dans ce paquet.

RÉSEAU ET FLUX
HTTPS utilise le port 8443 sur votre réseau local. Ne publiez pas ce port sur
Internet. L'app vérifie le certificat associé. Le VPN de l'Apple TV ne couvre pas
le NAS. Chaque enregistrement utilise une connexion à votre fournisseur : respectez
la limite de votre abonnement, y compris lorsque vous regardez une chaîne en même temps.
Aucune chaîne, playlist ou offre de contenus n'est fournie.

MISE À JOUR ET SAUVEGARDE
Conservez ensemble la base de données, secrets.key, les certificats et leurs clés,
ainsi que les vidéos. Arrêtez le conteneur avant une copie complète de sauvegarde.
Évitez les mises à jour pendant un enregistrement. Relancez docker compose build
puis docker compose up -d en conservant les dossiers montés. N'utilisez pas down -v.
Consultez README.md, ACCESS.md et COMMERCIALS.md pour les limites détaillées.
