Exécuter VpnHood! SERVER dans Docker
Lancez le serveur sous forme de conteneur sur n'importe quelle machine Linux avec Docker. Une seule commande suffit pour l'installer, en mode géré ou autonome. Le conteneur assure son bon fonctionnement et le maintient à jour.
Avant de commencer
- Une machine Linux avec une adresse IP publique, en x64 ou arm64. L'image est compatible avec les deux architectures.
- Un accès root.
- Docker avec son plugin compose. Le programme d'installation peut s'en charger pour vous sur Ubuntu, Debian et leurs dérivés.
- Le port TCP
443ouvert, tant sur le pare-feu de la machine que chez votre hébergeur. Le conteneur partage le réseau de l'hôte, le serveur écoute donc directement sur le port de l'hôte.
Installer un serveur géré
Dans VpnHood! MANAGER, ouvrez Servers, sélectionnez Add, nommez le serveur et choisissez Create. Parmi les options d'installation, choisissez Install on Linux manually by running a command. Dans la commande affichée par MANAGER, remplacez VpnHoodServer-linux.sh par VpnHoodServer.docker.sh, puis exécutez-la sur la machine. Elle installe le conteneur avec les paramètres nécessaires pour le connecter à MANAGER, puis vous pose la même question que l'installation autonome ci-dessous.
Pour un conteneur déjà existant, choisissez plutôt Install Manually by configuring appsettings. Enregistrez les paramètres indiqués par MANAGER sous /opt/VpnHoodServer/storage/appsettings.json sur l'hôte, puis redémarrez le conteneur avec sudo docker restart VpnHoodServer.
Créez ensuite les clés d'accès pour vos appareils dans MANAGER, sous Access Tokens.
Installer un serveur autonome
Exécutez cette commande. Elle télécharge le fichier compose, démarre le conteneur du serveur et vous pose une question.
sudo su -c "bash <( wget -qO- https://github.com/vpnhood/VpnHood.App.Server/releases/latest/download/VpnHoodServer.docker.sh)"
Lorsque l'invite affiche Install Docker (y/n)?, tapez y pour installer Docker, ou n si la machine l'a déjà.
Dans un script, lancez l'installation sans confirmation. Omettez -install-docker si Docker est déjà installé.
sudo su -c "bash <( wget -qO- https://github.com/vpnhood/VpnHood.App.Server/releases/latest/download/VpnHoodServer.docker.sh) -install-docker -q"
Le serveur conserve ses paramètres, ses clés et ses journaux dans /opt/VpnHoodServer/storage sur l'hôte, afin de ne rien perdre lors de la réinitialisation du conteneur.
Créer une clé d'accès
Exécutez ceci sur la machine. La clé est générée à l'intérieur du conteneur du serveur pour appliquer directement ses paramètres.
sudo docker exec VpnHoodServer /app/vhsupervisor gen
Exemple : une clé pour un seul téléphone
sudo docker exec VpnHoodServer /app/vhsupervisor gen -name Phone -maxClient 1
Le résultat et les options sont identiques à ceux d'un serveur autonome installé sans Docker : copiez la ligne sous --- AccessKey ---, et consultez Créer votre première clé d'accès pour découvrir les options permettant de restreindre une clé.
Connexion
Installez VpnHood! CLIENT sur chaque appareil, ajoutez la clé et connectez-vous.
Démarrer, arrêter et vérifier le serveur
Le conteneur se nomme VpnHoodServer. Docker le redémarre automatiquement après chaque redémarrage de la machine, et le serveur est également relancé à l'intérieur s'il s'arrête de manière inattendue.
sudo docker logs VpnHoodServer
sudo docker stop VpnHoodServer
sudo docker start VpnHoodServer
Le même journal est écrit dans /opt/VpnHoodServer/storage/logs/server.log sur l'hôte.
Modifier les paramètres
Le serveur lit sa configuration depuis /opt/VpnHoodServer/storage/appsettings.json. Modifiez ce fichier, puis redémarrez le conteneur à l'aide de sudo docker restart VpnHoodServer.
S'il vous est impossible de modifier un fichier, définissez plutôt tout le contenu d'un appsettings.json dans la variable d'environnement VH_APPSETTINGS. Le serveur l'utilisera alors à la place du fichier.
Configurer les adresses IP de votre serveur et Se connecter via un nom de domaine détaillent les paramètres les plus fréquemment modifiés.
Mises à jour
Le serveur se met à jour automatiquement dans le conteneur. Il vérifie la disponibilité d'une nouvelle version au démarrage ainsi que toutes les 12 heures, puis redémarre avec la mise à jour.
Pour conserver une version précise, définissez VH_AUTO_UPDATE=0 dans l'environnement du conteneur.
Certaines versions nécessitent parfois une image plus récente. Le serveur reste alors sur sa version actuelle et son journal indique Pull the latest image!. Relancez la commande d'installation : elle téléchargera la dernière image et recréera le conteneur, en conservant vos paramètres et vos clés.
Si vous aviez fait l'installation avec une ancienne version du script, relancez simplement la commande d'installation. Le serveur passera sur la nouvelle image et l'ancien conteneur VpnHoodUpdater sera supprimé.
Créer le conteneur manuellement
Si vous gérez vos conteneurs vous-même, voici celui généré par l'installateur. Lancez-le sur le réseau de l'hôte, tout comme le fait l'outil d'installation.
sudo docker run -d --name VpnHoodServer --network host --restart always --stop-timeout 30 -v /opt/VpnHoodServer/storage:/app/storage vpnhood/vpnhoodserver
Pour migrer vers une image plus récente, téléchargez vpnhood/vpnhoodserver avec pull et recréez le conteneur.