Aller au contenu principal

Prérequis

Cette page liste ce dont les deux voies auto-hébergées ont besoin : le matériel, ce qu'Octopize vous fournit, ce que vous préparez et les flux réseau à ouvrir. Ce qui est propre à une voie, comme Docker sur le serveur ou les composants du cluster pour Kubernetes, figure sur la page d'installation de cette voie.

Matériel​

La même capacité est nécessaire, qu'Avatar s'exécute sur un seul serveur Docker ou sur les nœuds d'un cluster Kubernetes :

RessourceMinimumRecommandé
CPU4 cœurs, x86_64, 2,30 GHzDavantage, pour des jobs plus rapides
Mémoire32 Go64 Go
Disque100 GoDavantage pour les gros jeux de données
Réseau100 Mo/sDavantage pour les gros jeux de données

Fourni par Octopize​

  • Des identifiants de registre pour quay.io, qui héberge les images privées d'Avatar. Vous les recevez à la signature du contrat.
  • Des identifiants de télémétrie (un nom de bucket S3, un identifiant de clé d'accès et un secret), si vous activez la télémétrie d'usage.
  • Des identifiants SMTP, si vous choisissez d'envoyer les emails via le service de messagerie d'Octopize (AWS SES) plutôt que via votre propre serveur.

Préparé par vous​

  • Un nom de domaine pointant vers le serveur ou le load balancer, par exemple avatar.company.com. Toutes les URL publiques (client web, API, stockage, SSO) en sont dérivées.
  • Un certificat TLS pour ce domaine, avec sa clé privée, au format PEM. La page d'installation Docker explique comment convertir un fichier .pfx ou générer un certificat auto-signé pour un déploiement de test.
  • Un serveur SMTP par lequel Avatar peut envoyer des emails : hôte, port, identifiants si nécessaire, et mode TLS (STARTTLS ou TLS implicite). L'email est obligatoire : les utilisateurs reçoivent par email leurs liens de création de compte et de réinitialisation du mot de passe. Les adresses IP brutes ne sont pas acceptées comme hôte SMTP.

Flux réseau​

Entrants​

PortDepuisUtilisé pour
443Navigateurs et clients des utilisateursLe client web, l'API, l'authentification unique (SSO), et le téléversement et téléchargement des jeux de données (endpoint S3)

Sortants​

DestinationPortQuandUtilisé pour
quay.io443Installation et mises à jourImages Avatar (avatar-service-api, avatar-web), le chart Helm et l'image de l'outil de déploiement
docker.io443Installation et mises à jourImages annexes (PostgreSQL, Nginx, SeaweedFS)
ghcr.io443Installation et mises à jourImages Authentik
pypi.org443Installation et mises à jourLe paquet octopize-deploy-tool (voie Docker uniquement)
Votre serveur SMTP25, 465 ou 587ToujoursEmails de création de compte, de réinitialisation du mot de passe et de notification
sentry.io443OptionnelRemontée d'erreurs
license.octopize.io443OptionnelTable de compatibilité des clients (téléchargement uniquement)
L'endpoint S3 de télémétrie443OptionnelTélémétrie d'usage, lorsqu'elle est activée
Vos bases de données source et cibleLeurs propres ports (5432, 3306, 1521, 1433, 8123…)Optionnel, Kubernetes uniquementExécutions sur base de données, depuis le pod du connecteur de bases de données

Les flux d'installation et de mise à jour peuvent être fermés une fois le déploiement en service. Les flux optionnels peuvent être entièrement désactivés, voir Déploiements en environnement isolé.

Images de conteneurs​

Le back end est écrit en Python (dask, polars, pyarrow, pandas, numpy), et le client web en Next.js avec TypeScript. Tailles au moment de la rédaction :

ImageRegistreTailleRemarques
avatar-service-apiquay.io3,00 GoPrivée
avatar-webquay.io0,30 GoPrivée
authentikghcr.io1,00 Go
postgresdocker.io0,40 Go
seaweedfsdocker.io0,20 Go
nginxdocker.io0,20 GoVoie Docker uniquement
avatar-connectorquay.ioPrivée. Optionnelle, Kubernetes uniquement : le connecteur de bases de données

Prévoyez environ 6 Go d'espace disque par version d'Avatar, et supprimez les anciennes images après les mises à jour.

Déploiements en environnement isolé​

Avatar fonctionne sans accès à Internet. Avant l'installation :

  • Recopiez les images de conteneurs dans un registre accessible depuis le déploiement, ou chargez-les sur le serveur.
  • Transférez l'installeur : le paquet octopize-deploy-tool ou son image pour Docker, ou l'archive du chart Helm (helm pull … --untar) pour Kubernetes.
  • Disposez du certificat TLS en local.
  • Assurez-vous qu'un serveur SMTP interne est joignable.

Désactivez ensuite les flux sortants optionnels :

FluxDockerKubernetes
Remontée d'erreurs (Sentry)IS_SENTRY_ENABLED: falseapi.config.sentry.enabled: false
Table de compatibilité des clientsCOMPATIBILITY_MAPPING_URL: "disabled"api.config.compatibilityMappingUrl: "disabled"
Télémétrie d'usageLaissez vides les valeurs de télémétrieLaissez vides les valeurs telemetry.s3

Sous Docker, définissez-les dans votre fichier de configuration. Sous Kubernetes, voir aussi faire pointer le chart vers un miroir.

Pour recopier les images Authentik, consultez la documentation Authentik sur les environnements isolés.