Finalmente sono riuscito a dare un po’ più di struttura a questo sito.
Ho lasciato WordPress (troppo per quel che mi serve realmente) e ho provato Hugo, un generatore di siti statici scritto in GO e basato su Markdown.
Questo ha comportato una serie di cose:
-
Essendo il sito statico è intrinsecamente più sicuro per chi lo ospita (io).
-
Ho trasformato la mia vecchia wiki personale (
wiki.cameroni.eu) in articoli di questo blog, in modo da poter dismettere anche MediaWiki. La sintassi di MediaWiki è simile a Markdown e gli articoli erano pochi, quindi il lavoro è stato abbastanza veloce. -
Senza WordPress e MediaWiki non ho più bisogno di PHP e Mysql, e non devo impiegare del tempo a configurarli e mantenerli aggiornati.
-
La riduzione di risorse necessarie mi consente di ospitare questo sito direttamente a casa mia, sul mio NAS, utilizzando nginx in Docker.
La guida di Hugo comprende un comodo script per eseguire il deploy automatico del sito tramite SSH e rsync:
#!/bin/sh
USER=my-user
HOST=my-server.com
DIR=my/directory/to/topologix.fr/ # the directory where your web site files should go
hugo && rsync -avz --delete public/ ${USER}@${HOST}:~/${DIR}
exit 0
Utilizzando questo script basta una configurazione di Docker (con docker-compose) tipo la seguente…
version: '3'
services:
web:
image: nginx:alpine
restart: always
volumes:
- /home/lorenzo/sito:/usr/share/nginx/html:ro
- ./default.conf:/etc/nginx/conf.d/default.conf:ro
… con il file default.conf simile al seguente…
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
… et voilà, e il sito è online 😃 (o quasi, mancano SSL e altre cosette, ma il grosso è fatto).