gmktec_-_proxmox_-_test
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| gmktec_-_proxmox_-_test [2026/06/28 16:29] – [Docker - commandes utiles] oz | gmktec_-_proxmox_-_test [2026/07/30 18:22] (Version actuelle) – supprimée oz | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ===== Hardware ===== | ||
| - | ==== Modèle ==== | ||
| - | GMKtec Mini PC N95 (Turbo 3.4 GHz) 12ème Gen. 4 coeurs 4 threads et 6 Mo de cache | ||
| - | 8 Gb DDR4 RAM + 256 Gb SSD | ||
| - | Wifi 5 + BT 5.0 | ||
| - | ==== Préparation ==== | ||
| - | Connecter un écran au port HDMI | ||
| - | Connecter un clavier à un port USB | ||
| - | Insérer une clé USB avec une image ISO Proxmox | ||
| - | Connecter l' | ||
| - | |||
| - | ===== Proxmox ===== | ||
| - | ==== Installation de Proxmox ==== | ||
| - | Démarrer le PC, en principe il ne devrait pas y avoir de changement à faire au niveau du BIOS.\\ | ||
| - | L' | ||
| - | * choisir " | ||
| - | |||
| - | * Accepter la license d' | ||
| - | |||
| - | * Garder la sélection du disque ou sera installé Proxmox | ||
| - | |||
| - | * Choisir le pays: Switzerland | ||
| - | * Garder la Time zone: Europe/ | ||
| - | * Changer le Keyboard Layout: Swiss-French | ||
| - | |||
| - | * Créer un mot de passe root (2x) | ||
| - | * Définir un e-mail: sysadmin@cpacon.com | ||
| - | |||
| - | * Garder l' | ||
| - | * Définir le Hostname: pvetest3.test.cpacon.com | ||
| - | * Donner une adresse IP: 192.168.50.x/ | ||
| - | * Donner la gateway: 192.168.50.254 | ||
| - | * Donner le DNS Server: 8.8.8.8 **A voir si je le modifie par la suite** | ||
| - | |||
| - | L' | ||
| - | |||
| - | ==== Premier démarrage de Proxmox ==== | ||
| - | Installer le PC et le connecter au réseau\\ | ||
| - | Se connecter à la page d' | ||
| - | Aller dans le >_ Shell\\ | ||
| - | Lancer la ligne de commande: '' | ||
| - | * Start the Proxmox VE Post Install Script (y/n): y | ||
| - | * Deb822 sources detected: <Ok> | ||
| - | * PVE-ENTERPRISE: | ||
| - | * CEPH-ENTERPRISE: | ||
| - | * PVE-NO-SUBSCRIPTION: | ||
| - | * PVETEST: yes | ||
| - | * SUBSCRIPTION NAG: yes | ||
| - | * Support Subscription: | ||
| - | * HIGH AVAILABILITY: | ||
| - | * UPDATE: yes | ||
| - | Attendre que le script s' | ||
| - | * Post-install Reminder: <Ok> | ||
| - | * REBOOT: yes | ||
| - | |||
| - | ==== Configuration réseau ==== | ||
| - | Changer la configuration du vmbr0: | ||
| - | * Enlever l' | ||
| - | * Clicker la case "Vlan aware" | ||
| - | * Clicker la case " | ||
| - | * ajouter les vlan IDs: 210 500 **voir si il faudra en ajouter d' | ||
| - | |||
| - | Créer un Linux VLAN: Create/ | ||
| - | * vlan500 | ||
| - | * IPv4/CIDR: 192.168.50.x/ | ||
| - | * Gateway (IPv4): 192.168.50.254 | ||
| - | * Vlan raw device: nic0 | ||
| - | * Comment: pve Mgmt | ||
| - | |||
| - | Appuyer sur le bouton "Apply Configuration" | ||
| - | Il faut adapter le switch pour gérer les Vlan taggé et on devrait récupérer le management. | ||
| - | |||
| - | ==== Définition des disques ==== | ||
| - | Dans " | ||
| - | SMB/CIFS: | ||
| - | * ID: nas-backup | ||
| - | * Server: 192.168.21.193 | ||
| - | * Username: proxmox_svr | ||
| - | * Password: voir doc | ||
| - | * Share: proxmox_backups | ||
| - | * Content: Disk image, ISO image, Container template, Backup, Container | ||
| - | |||
| - | NFS: | ||
| - | * ID: pve-storage | ||
| - | * Server: 192.168.21.193 | ||
| - | * Export: / | ||
| - | * Content: Disk Image, Container | ||
| - | |||
| - | ==== Autres paramètres ==== | ||
| - | Datacenter/ | ||
| - | 192.168.50.101 pvetest1.test.cpacon.com pvetest1\\ | ||
| - | 192.168.50.102 pvetest2.test.cpacon.com pvetest2\\ | ||
| - | 192.168.50.103 pvetest3.test.cpacon.com pvetest3 | ||
| - | |||
| - | Datacenter/ | ||
| - | Ajouter un ou des utilisateurs si nécessaire.\\ | ||
| - | |||
| - | ==== Créer/ | ||
| - | Dans Datacenter/ | ||
| - | Sur les noeuds suivants, il faut copier les informations du cluster avec le bouton "Join Information", | ||
| - | Copier les informations du cluster et donner le mot de passe root.\\ | ||
| - | Attendre que celà se passe. | ||
| - | |||
| - | ===== Debian (PVE) ===== | ||
| - | ==== Création d'une VM ==== | ||
| - | Depuis un node, cliquer sur " | ||
| - | Donner un VM ID et un nom, en cliquant la case " | ||
| - | Choisir le " | ||
| - | Cliquer sur la case "Qemu Agent" - puis Next\\ | ||
| - | Choisir le " | ||
| - | Choisir le nombre de Sockets et core - puis Next\\ | ||
| - | Choisir le mémoire - puis Next\\ | ||
| - | Choisir le réseau et vlan - puis Next\\ | ||
| - | Confirmer avec " | ||
| - | Démarrer la VM\\ | ||
| - | |||
| - | ==== Installation de Debian ==== | ||
| - | Choisir l' | ||
| - | Choisir la langue - French - Français\\ | ||
| - | Choisir le pays - Suisse\\ | ||
| - | Choisir le clavier - Suisse romand\\ | ||
| - | Après l' | ||
| - | Configurer l' | ||
| - | Définir le mot de passe " | ||
| - | Créer un compte avec le nom de l' | ||
| - | Donner l' | ||
| - | Partitionner le disque " | ||
| - | Choisir le schéma (Tout dans une seule partition ou partition /home, /car et /tmp séparé)\\ | ||
| - | Terminer le partitionnement, | ||
| - | Pas besoin d' | ||
| - | Choisir le pays du miroir (Suisse) et le serveur\\ | ||
| - | Pas de mandataire HTTP\\ | ||
| - | Ne pas participer à l' | ||
| - | Pour une installation simple, décocher les cases " | ||
| - | Installer le programme de démarrage GRUB -> " | ||
| - | Choisir le /dev/sda proposé\\ | ||
| - | Continuer pour redémarrer\\ | ||
| - | |||
| - | ==== Premier démarrage ==== | ||
| - | Login en " | ||
| - | Mise à jour de la liste des paquets: apt update\\ | ||
| - | Mise à jour des paquets: apt upgrade\\ | ||
| - | Installation de sudo: apt install sudo\\ | ||
| - | Ajoute de l' | ||
| - | |||
| - | |||
| - | ===== Docker ===== | ||
| - | ==== Installation Docker ==== | ||
| - | Installation selon https:// | ||
| - | |||
| - | Désintaller les package en confliz: sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-doc podman-docker containerd runc | cut -f1)\\ | ||
| - | |||
| - | # Add Docker' | ||
| - | sudo apt update\\ | ||
| - | sudo apt install ca-certificates curl\\ | ||
| - | sudo install -m 0755 -d / | ||
| - | sudo curl -fsSL https:// | ||
| - | sudo chmod a+r / | ||
| - | |||
| - | # Add the repository to Apt sources:\\ | ||
| - | sudo tee / | ||
| - | Types: deb\\ | ||
| - | URIs: https:// | ||
| - | Suites: $(. / | ||
| - | Components: stable\\ | ||
| - | Architectures: | ||
| - | Signed-By: / | ||
| - | EOF\\ | ||
| - | |||
| - | sudo apt update\\ | ||
| - | |||
| - | sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\\ | ||
| - | |||
| - | Vérification que docker fonctionne: sudo systemctl status docker\\ | ||
| - | Démarrage de docker manuellement: | ||
| - | |||
| - | Créer un groupe docker (si il n' | ||
| - | Ajouter un utilisateur au groupe: sudo usermod -aG docker adm_xx\\ | ||
| - | Eventuellement réactiver le groupe: newgrp docker\\ | ||
| - | |||
| - | Pour tester que docker fonctionne avec un container: docker run hello-world\\ | ||
| - | |||
| - | ==== Installation Swarm ==== | ||
| - | Installation selon https:// | ||
| - | Création du manager du swarm: sudo docker swarm init --advertise-addr < | ||
| - | Ajoute des worker avec la commande indiquée à la création du manager\\ | ||
| - | |||
| - | ==== Docker - commandes utiles ==== | ||
| - | docker run < | ||
| - | docker info\\ | ||
| - | |||
| - | === Compose === | ||
| - | Télécharger les images: docker compose pull\\ | ||
| - | Démarrer les containers: docker compose up -d\\ | ||
| - | Arrêter les container: docker compose down\\ | ||
| - | Afficher les logs: docker compose logs -f\\ | ||
| - | docker compose ps\\ | ||
| - | |||
| - | === Swarm === | ||
| - | Récupérer la commande pour joindre un node au swarm (sur le manager): docker swarm join-token worker\\ | ||
| - | affiche les nodes du swarm: docker node ls\\ | ||
| - | Démarre une stack de container via un fichier compose: docker stack deploy\\ | ||
| - | ==== Authentik (container) ==== | ||
| - | Installation selon https:// | ||
| - | Créer un dossier / | ||
| - | Aller dans le dossier: cd / | ||
| - | Créer le fichier compose.yaml: | ||
| - | == compose.yaml == | ||
| - | '' | ||
| - | postgresql: | ||
| - | env_file:\\ | ||
| - | - .env\\ | ||
| - | environment: | ||
| - | POSTGRES_DB: | ||
| - | POSTGRES_PASSWORD: | ||
| - | POSTGRES_USER: | ||
| - | healthcheck: | ||
| - | interval: 30s\\ | ||
| - | retries: 5\\ | ||
| - | start_period: | ||
| - | test:\\ | ||
| - | - CMD-SHELL\\ | ||
| - | - pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}\\ | ||
| - | timeout: 5s\\ | ||
| - | image: docker.io/ | ||
| - | restart: unless-stopped\\ | ||
| - | volumes:\\ | ||
| - | - database:/ | ||
| - | server:\\ | ||
| - | command: server\\ | ||
| - | depends_on: | ||
| - | postgresql: | ||
| - | condition: service_healthy\\ | ||
| - | env_file:\\ | ||
| - | - .env\\ | ||
| - | environment: | ||
| - | AUTHENTIK_POSTGRESQL__HOST: | ||
| - | AUTHENTIK_POSTGRESQL__NAME: | ||
| - | AUTHENTIK_POSTGRESQL__PASSWORD: | ||
| - | AUTHENTIK_POSTGRESQL__USER: | ||
| - | AUTHENTIK_SECRET_KEY: | ||
| - | image: ${AUTHENTIK_IMAGE: | ||
| - | ports:\\ | ||
| - | - ${COMPOSE_PORT_HTTP: | ||
| - | - ${COMPOSE_PORT_HTTPS: | ||
| - | restart: unless-stopped\\ | ||
| - | shm_size: 512mb\\ | ||
| - | volumes:\\ | ||
| - | - ./ | ||
| - | - ./ | ||
| - | worker:\\ | ||
| - | command: worker\\ | ||
| - | depends_on: | ||
| - | postgresql: | ||
| - | condition: service_healthy\\ | ||
| - | env_file:\\ | ||
| - | - .env\\ | ||
| - | environment: | ||
| - | AUTHENTIK_POSTGRESQL__HOST: | ||
| - | AUTHENTIK_POSTGRESQL__NAME: | ||
| - | AUTHENTIK_POSTGRESQL__PASSWORD: | ||
| - | AUTHENTIK_POSTGRESQL__USER: | ||
| - | AUTHENTIK_SECRET_KEY: | ||
| - | image: ${AUTHENTIK_IMAGE: | ||
| - | restart: unless-stopped\\ | ||
| - | shm_size: 512mb\\ | ||
| - | user: root\\ | ||
| - | volumes:\\ | ||
| - | - / | ||
| - | - ./ | ||
| - | - ./ | ||
| - | - ./ | ||
| - | volumes:\\ | ||
| - | database:\\ | ||
| - | driver: local\\ | ||
| - | '' | ||
| - | |||
| - | == .env == | ||
| - | Générer les clés et les mettre dans le fichier .env: \\ | ||
| - | PASS: openssl rand -base64 36\\ | ||
| - | KEY: openssl rand -base64 60\\ | ||
| - | |||
| - | '' | ||
| - | AUTHENTIK_SECRET_KEY=> | ||
| - | AUTHENTIK_ERROR_REPORTING__ENABLED=true\\ | ||
| - | # | ||
| - | # | ||
| - | # SMTP server\\ | ||
| - | AUTHENTIK_EMAIL__HOST=mail.informaniak.com\\ | ||
| - | AUTHENTIK_EMAIL__PORT=587\\ | ||
| - | # Optionally authenticate (don't add quotation marks to your password)\\ | ||
| - | AUTHENTIK_EMAIL__USERNAME=< | ||
| - | AUTHENTIK_EMAIL__PASSWORD=< | ||
| - | # STARTTLS / explicit TLS, usually on port 587\\ | ||
| - | AUTHENTIK_EMAIL__USE_TLS=true\\ | ||
| - | # Implicit TLS/SSL on the SMTP connection (`USE_SSL` is the variable name), usually on port 465\\ | ||
| - | AUTHENTIK_EMAIL__USE_SSL=false\\ | ||
| - | AUTHENTIK_EMAIL__TIMEOUT=10\\ | ||
| - | # Sender email address; verify that the domain is valid.\\ | ||
| - | AUTHENTIK_EMAIL__FROM=< | ||
| - | '' | ||
| - | |||
| - | Démarrer le container: sudo docker compose up -d\\ | ||
| - | Celà met du temps à charger les container et initialiser la première fois.\\ | ||
| - | |||
| - | Aller sur http:/ /< | ||
| - | Aller dans l' | ||
| - | Créer un utilisateur adm_xx, lui donner un mot de passe, puis l' | ||
| - | Tester le nouvel utilisateur.\\ | ||
| - | Désactiver le compte akadmin.\\ | ||
| - | |||
| - | ===== Commandes utiles ===== | ||
| - | ==== Changer l' | ||
| - | sudo nano / | ||
| - | sudo nano nano / | ||
| - | sudo nano nano / | ||
| - | https:// | ||
| - | |||
| - | ==== Ajouter un utilîsateur ==== | ||
| - | adduser <nom d' | ||
| - | |||
| - | ==== Changer d' | ||
| - | su - <nom d' | ||
gmktec_-_proxmox_-_test.1782656993.txt.gz · Dernière modification : de oz
