Créer une VM avec Alpine sous Proxmox
Bonjour,
Je vous passe la partie concernant la création de la VM en elle même, pour ceux qui le souhaite, j'ai déjà fait un guide il y a quelque temps sur le sujet et rien depuis n'a changé.
A noter que j'ai choisi pour Alpine la version Virtual X86_64 bits. Ca fonctionne avec la version standard mais vu qu'il existe une version spécifique pour les machines virtuelles, autant l'utiliser !
Voici le résumé de cette VM que j'ai crée pour le test.
Au fait pourquoi vouloir utiliser Alpine ? Actuellement, mon site web est sous Ubuntu LTS et mes DNS Blacklist étaient sous Debian. Rien à dire, c'est fonctionnel, stable et ce sont des solutions professionnelles. Sauf que moi et à mon avis la plupart des gens qui font de l'auto-hébergement via un serveur / NAS à la maison, ne font plus aujourd'hui qu'héberger des dockers. Et dans ce cas, ces distributions sont beaucoup trop chargées de base juste pour faire tourner des containers. Si vous faites encore tourner vos serveurs LAMP à la maison et que vous aimer vous taper des lignes de code obscures, grand bien à vous mais je préfère pour ma part l'efficacité et la simplicité de docker-compose.
Et Alpine comme indiqué sur leur site, est une solution ultra légère, simple et sécurisée. C'est une distribution qui est fait à la base pour tourner sur de la RAM, donc ouais c'est ultra léger !
D'ailleurs voila ce que ça donne au moment ou on démarre la VM:
94Mo de RAM, mouarf !!!! Pour info, j'ai switché mes DNS BL de Debian à Alpine et la ou avant j'étais entre 600-800Mo de RAM, je suis aujourd'hui entre 100-200Mo. Un gain énorme pour nos petites machines à la maison.
Il ne reste plus ensuite qu'à vous connecter sur votre machine via la console:
Le login de base c'est "root" et le mot de passe est laissé vide "". La première chose à faire est de lancer la configuration d'Alpine pour qu'il installe les packages qui vont bien (à noter que sur la console, il considère votre clavier comme étant un clavier US donc QWERTY):
setup-alpine
Il ne vous reste plus qu'à répondre tranquillement aux questions (basiques) qui vous sont posées.
- Clavier: fr / fr-azerty
- Interface: eth0 / dhcp (si c'est bien le cas) / n
- Root password: votremotdepasse
- Timezone: CET
- Proxy: none
- Mirror: f (il va choisir tout seul)
- Setup a user: a vous de voir, il est recommandé de ne pas faire les opérations / docker en étant root.
- SSH server: openssh
- Allow root ssh login: à vous de voir.
- SSH key for root: à indiquer si vous en avez une.
- Disk to use: sda
- How to use: sys (configuration standard)
- Erase disk: y
- Et ensuite: reboot
Vous avez maintenant terminé la configuration de base de votre VM, il ne vous reste plus qu'à installer Docker/Docker-compose et Samba si vous souhaitez faire un partage windows (je fais un partage pour mes dockers, ça me permet de faire les modifications directement depuis mon pc, sans avoir besoin d'utiliser l'éditeur de texte local).
On commence par installer nano, ça peut toujours servir:
apk add nano
On va maintenant s'assurer que les packages de la communauté sont disponibles. Pour cela:
nano /etc/apk/repositories
Et il faut alors décommenter la deuxième ligne:
On peut alors installer docker:
apk add --update docker rc-update add docker boot /etc/init.d/docker start
Et après docker-compose:
apk add docker-compose
On va maintenant installer Samba
apk add samba nano /etc/samba/smb.conf
A la fin du fichier de configuration on va rajouter notre partage docker:
[MonPartage] comment = MonPartageDocker path = /home/docker valid users = votreuser public = yes read only = no browseable = yes writable = yes
On démarre le service Samba:
rc-update add samba rc-service samba start /etc/init.d/samba restart
On doit maintenant créer le mot de passe pour votreuser du service Samba:
smbpasswd -a votreuser
Il ne faut pas oublier de créer le répertoire que vous avez indiqué dans votre partage Samba:
cd .. cd home mkdir docker
Pour être sur que tout est bien pris en compte, un petit reboot :
reboot
Voila, vous avez maintenant une VM ultra légère, sécurisée et efficace sous Alpine qui est fonctionnelle ! Il ne vous reste plus qu'à mettre les dockers que vous souhaitez !
Une petite dernière qui peut vous être utile pour vos dockers, pour connaitre le uid/gid de votre utilisateur:
id votreuser
Enjoy !
@+