Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
tutoriaux:docker-related:creer-container-86box [2024/07/16 20:47] – [le planning] frater | tutoriaux:docker-related:creer-container-86box [2024/07/18 15:19] (Version actuelle) – frater | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== 86box - PC vintage | + | ====== |
Ce n'est un secret pour personne, j'ai toujours aimé les ordinateurs, | Ce n'est un secret pour personne, j'ai toujours aimé les ordinateurs, | ||
Ligne 17: | Ligne 17: | ||
En parlant de packages, la vidéo télécharge des packages directement sans utiliser les packages managers; ce qui me désole également. | En parlant de packages, la vidéo télécharge des packages directement sans utiliser les packages managers; ce qui me désole également. | ||
- | toutes | + | Toutes |
+ | |||
+ | ===== le dockerfile ===== | ||
Je vais donc exposer mon '' | Je vais donc exposer mon '' | ||
Ligne 26: | Ligne 28: | ||
Cette image est une customisation que j'ai faites, je publierais sans doute un article plus tard, tant cette customisation est avancée. | Cette image est une customisation que j'ai faites, je publierais sans doute un article plus tard, tant cette customisation est avancée. | ||
+ | |||
<code yaml [enable_line_numbers=" | <code yaml [enable_line_numbers=" | ||
# | # | ||
# 86Box | # 86Box | ||
# | # | ||
+ | FROM saintfrater/ | ||
+ | ARG | ||
- | FROM saintfrater/ | + | # Create non root group & user |
+ | RUN | ||
</ | </ | ||
+ | |||
+ | Nous allons également executer l' | ||
+ | |||
+ | Cet utilisateur est créer en ligne 8. | ||
**Paramétrage du serveur VNC** | **Paramétrage du serveur VNC** | ||
<code yaml [enable_line_numbers=" | <code yaml [enable_line_numbers=" | ||
#User Settings for VNC | #User Settings for VNC | ||
- | ENV USER=root | ||
ENV PASSWORD=password1 | ENV PASSWORD=password1 | ||
</ | </ | ||
+ | |||
+ | Ici l'on peut changer le mot de passe "par défaut" | ||
**Quelques variables d' | **Quelques variables d' | ||
Ligne 59: | Ligne 70: | ||
RUN mkdir /opt/86box && \ | RUN mkdir /opt/86box && \ | ||
cd /opt/86box && \ | cd /opt/86box && \ | ||
- | wget https:// | + | wget -nv https:// |
mv 86Box-Linux-x86_64-b5634.AppImage 86Box.AppImage && \ | mv 86Box-Linux-x86_64-b5634.AppImage 86Box.AppImage && \ | ||
chmod +x 86Box.AppImage && \ | chmod +x 86Box.AppImage && \ | ||
- | ./ | + | ./ |
rm 86Box.AppImage | rm 86Box.AppImage | ||
</ | </ | ||
Ligne 68: | Ligne 79: | ||
Nous téléchargeons une version particulière de l'// | Nous téléchargeons une version particulière de l'// | ||
- | Cette // | + | Cette // |
**Téléchargement des BIOS** | **Téléchargement des BIOS** | ||
Ligne 89: | Ligne 100: | ||
# Create symlink for configuration | # Create symlink for configuration | ||
RUN mkdir / | RUN mkdir / | ||
- | | + | |
- | | + | |
+ | chown -R $LOCAL_USER: | ||
+ | mkdir / | ||
+ | chown -R $LOCAL_USER: | ||
</ | </ | ||
- | Cette immonde usine a gaz, permet | + | Nous créons 2 dossiers //customs// et //media// qui seront ensuite publiés en dehors du container pour sauvegarder les données |
- | ** Configuration VNC Server** | + | Un dossier "/ |
- | par défaut le password est celui passé en variable d’environnement, il pourra être changer par la suite. | + | **supervisor et publication de port** |
+ | <code yaml [enable_line_numbers=" | ||
+ | #Copy in supervisor configuration for startup | ||
+ | COPY supervisord.conf / | ||
+ | </ | ||
+ | |||
+ | nous copions une version personnalisée de supervisord.conf dans etc. | ||
+ | |||
+ | <code yaml [enable_line_numbers=" | ||
+ | EXPOSE | ||
+ | </ | ||
+ | |||
+ | Nous exposons le port 5901 (VNC) du container. | ||
+ | |||
+ | **configuration du mode 'local user' | ||
+ | |||
+ | Comme nous désirons que l' | ||
+ | |||
+ | <code yaml [enable_line_numbers=" | ||
+ | # setup session as " | ||
+ | USER $LOCAL_USER | ||
+ | </ | ||
+ | |||
+ | **Configuration VNC Server** | ||
+ | |||
+ | Par défaut le password est // | ||
<code yaml [enable_line_numbers=" | <code yaml [enable_line_numbers=" | ||
Ligne 109: | Ligne 148: | ||
**configuration de ratpoison** | **configuration de ratpoison** | ||
- | [[https:// | + | [[https:// |
<code yaml [enable_line_numbers=" | <code yaml [enable_line_numbers=" | ||
Ligne 117: | Ligne 156: | ||
</ | </ | ||
- | Nous réduisons à 0 la bordure des applications (ligne 2), ensuite nous ordonnons a ratpoison d' | + | Nous réduisons à 0 la bordure des applications (ligne 2) afin de ne pas avoir de cadre a notre application, ensuite nous ordonnons a ratpoison d' |
**Quelques volumes** | **Quelques volumes** | ||
Ligne 123: | Ligne 162: | ||
<code yaml [enable_line_numbers=" | <code yaml [enable_line_numbers=" | ||
# Create volumes mount | # Create volumes mount | ||
- | VOLUME /root/logs | + | # VOLUME /var/log/86box |
VOLUME / | VOLUME / | ||
- | VOLUME /opt/86box/ | + | VOLUME / |
- | VOLUME / | + | |
</ | </ | ||
| | ||
**Supervisord** | **Supervisord** | ||
- | l'image d' | + | L'image d' |
<code yaml [enable_line_numbers=" | <code yaml [enable_line_numbers=" | ||
#Copy in supervisor configuration for startup | #Copy in supervisor configuration for startup | ||
- | COPY supervisord.conf / | ||
ENTRYPOINT [ " | ENTRYPOINT [ " | ||
</ | </ | ||
- | **Monter le port VNC** | + | ====== Configuration ====== |
- | <code yaml [enable_line_numbers=" | + | Si tout se passe bien, vous devirez pouvoir vous connecter en VNC sur votre 86Box, au premier contact l' |
- | EXPOSE | + | |
- | </ | + | {{tutoriaux: |
+ | |||
+ | je vous suggère immédiatement de changer le paramètre: | ||
+ | |||
+ | {{tutoriaux: | ||
+ | pour utiliser tout l' | ||
+ | {{tutoriaux: |