Diferència entre revisions de la pàgina «Snap! a un servidor intermediari invers emprant Dockers»
m |
m (→Previ) |
||
Línia 4: | Línia 4: | ||
Podeu veure quins ''dockers'' són connectats a la xarxa interna: | Podeu veure quins ''dockers'' són connectats a la xarxa interna: | ||
docker network inspect net | docker network inspect net | ||
+ | = Baixada del codi font = | ||
+ | Baixeu el codi font del [https://github.com/jmoenig/Snap Snap! a GitHub]: | ||
+ | jordi@vps:~/bin/html$ wget https://github.com/jmoenig/Snap/archive/refs/heads/master.zip | ||
+ | |||
+ | Descomprimiu (en cas de no tenir l'eina ''unzip'' feu ''sudo apt install unzip'' per a tenir-la): | ||
+ | jordi@vps:~/bin/html$ '''unzip master.zip''' | ||
+ | jordi@vps:~/bin/html$ cd master | ||
+ | jordi@vps:~/bin/html/master$ | ||
+ | |||
= Personalització del Snap! = | = Personalització del Snap! = | ||
== Opció de JavaScript activada per defecte == | == Opció de JavaScript activada per defecte == |
Revisió del 13:11, 27 març 2024
Contingut
Previ
Cal tenir una Servidor intermediari invers. Farem servir la mateixa xarxa interna de dockers al Node-RED i al servidor intermediari invers.
Podeu veure quins dockers són connectats a la xarxa interna:
docker network inspect net
Baixada del codi font
Baixeu el codi font del Snap! a GitHub:
jordi@vps:~/bin/html$ wget https://github.com/jmoenig/Snap/archive/refs/heads/master.zip
Descomprimiu (en cas de no tenir l'eina unzip feu sudo apt install unzip per a tenir-la):
jordi@vps:~/bin/html$ unzip master.zip jordi@vps:~/bin/html$ cd master jordi@vps:~/bin/html/master$
Personalització del Snap!
Opció de JavaScript activada per defecte
Per raons de seguretat, s'ha desactivat el JavaScript per defecte. Si us munteu el vostre propi servei al núvol, per a poder cridar programes vostres amb funcions amb JavaScript, heu d'afegir aquesta línia, en negreta, a l'arxiu snap.html:
<script> Process.prototype.enableJS = true; // <-- Per a tenir seleccionat el JS per defecte var world; window.onload = function () { if ('serviceWorker' in navigator) { navigator.serviceWorker.register('sw.js'); } world = new WorldMorph(document.getElementById('world')); new IDE_Morph().openIn(world); loop(); }; function loop() { requestAnimationFrame(loop); world.doOneCycle(); } </script>
Inclusió de nous exemples
A la carpeta Examples hi afegiu el nou exemple amb extensió .xml i editeu l'arxiu EXAMPLES. En aquest exemple d'edició de l'arxiu EXAMPLES s'ha afegit el nom de l'arxiu .xml afegit a la carpeta Examples i separat per un tabulador una descripció mínima de l'exemple:
animal-game.xml Animal Game Codification.xml Codification copter.xml Copter count-change.xml Count Change icecream-visual.xml Icecream Visual IoT-Vertebrae.xml Interaction with IoT-Vertebrae JSfunctions.xml JSfunctions live-tree.xml Live Tree swimmer.xml Swimmer tree.xml Tree vee.xml Vee
Construcció del docker
Baixeu el codi font del Snap! a GitHub:
jordi@vps:~/bin/html$ wget https://github.com/jmoenig/Snap/archive/refs/heads/master.zip
Descomprimiu (en cas de no tenir l'eina unzip feu sudo apt install unzip per a tenir-la):
jordi@vps:~/bin/html$ unzip master.zip jordi@vps:~/bin/html$ cd master jordi@vps:~/bin/html/master$
Dins de la carpeta a on hi l'arxiu index.html feu un nou arxiu anomenat default:
jordi@vps:~/bin/html/master$ nano default
I hi afegiu aquest contingut:
server { listen 80 default_server; listen [::]:80 default_server; root /usr/share/nginx/html; index index.html index.htm; server_name _; location / { try_files $uri $uri/ =404; } }
Dins de la carpeta a on hi l'arxiu index.html feu un nou arxiu anomenat Dockerfile:
jordi@vps:~/bin/html/master$ nano Dockerfile
I hi afegiu aquest contingut:
FROM nginx:alpine COPY . /usr/share/nginx/html EXPOSE 80
Construïu el docker:
jordi@vps:~/bin/html/master$ docker build -t snap9:v2.13 .
Al vostre proveïdor de dominis apunteu el nou subdomini (a l'exemple és snap.binefa.cat) al vostre VPS al núvol. A la llista de DNS feu servir el tipus A si apunteu a una IP o el tipus CNAME si apunteu a un altre nom de domini.
Poseu el docker en marxa:
docker run --rm --name snap9 -e VIRTUAL_HOST=snap.binefa.cat -e LETSENCRYPT_HOST=snap.binefa.cat -e VIRTUAL_PORT=80 --network net -d snap9:v2.13
Documentació
How to Build Docker Image : Comprehensive Beginners Guide (Fa servir com a Linux base un Ubuntu 18.04)
How I Deployed my Website as a Docker Container (Fa servir com a base un docker que és un servidor nginx instal·lat dins d'un Linux Alpine. Alpine és un Linux minimalista)