Merge branch 'master' of https://git.andreafazzi.eu/andrea/knowledgebase
This commit is contained in:
commit
26ac7da378
13 changed files with 753 additions and 0 deletions
BIN
assets/image_1729780747017_0.png
Normal file
BIN
assets/image_1729780747017_0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.1 KiB |
BIN
assets/image_1729780942325_0.png
Normal file
BIN
assets/image_1729780942325_0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
BIN
assets/image_1729782020246_0.png
Normal file
BIN
assets/image_1729782020246_0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
10
draws/2024-10-24-13-13-29.excalidraw
Normal file
10
draws/2024-10-24-13-13-29.excalidraw
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "excalidraw",
|
||||
"version": 2,
|
||||
"source": "https://logseq.com",
|
||||
"elements": [],
|
||||
"appState": {
|
||||
"viewBackgroundColor": "#FFF",
|
||||
"gridSize": null
|
||||
}
|
||||
}
|
10
draws/2024-10-24-13-13-31.excalidraw
Normal file
10
draws/2024-10-24-13-13-31.excalidraw
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "excalidraw",
|
||||
"version": 2,
|
||||
"source": "https://logseq.com",
|
||||
"elements": [],
|
||||
"appState": {
|
||||
"viewBackgroundColor": "#FFF",
|
||||
"gridSize": null
|
||||
}
|
||||
}
|
599
draws/2024-10-24-13-16-13.excalidraw
Normal file
599
draws/2024-10-24-13-16-13.excalidraw
Normal file
|
@ -0,0 +1,599 @@
|
|||
{
|
||||
"type": "excalidraw",
|
||||
"version": 2,
|
||||
"source": "file://",
|
||||
"elements": [
|
||||
{
|
||||
"id": "lvARJB4q2mylMGTGdcS9R",
|
||||
"type": "freedraw",
|
||||
"x": 146,
|
||||
"y": 187,
|
||||
"width": 296,
|
||||
"height": 162,
|
||||
"angle": 0,
|
||||
"strokeColor": "#1e1e1e",
|
||||
"backgroundColor": "transparent",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 1,
|
||||
"strokeStyle": "solid",
|
||||
"roughness": 1,
|
||||
"opacity": 100,
|
||||
"groupIds": [],
|
||||
"frameId": null,
|
||||
"roundness": null,
|
||||
"seed": 438944882,
|
||||
"version": 139,
|
||||
"versionNonce": 1952817134,
|
||||
"isDeleted": false,
|
||||
"boundElements": null,
|
||||
"updated": 1729768588393,
|
||||
"link": null,
|
||||
"locked": false,
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
-1,
|
||||
3
|
||||
],
|
||||
[
|
||||
-2,
|
||||
5
|
||||
],
|
||||
[
|
||||
-3,
|
||||
8
|
||||
],
|
||||
[
|
||||
-4,
|
||||
14
|
||||
],
|
||||
[
|
||||
-4,
|
||||
20
|
||||
],
|
||||
[
|
||||
-2,
|
||||
30
|
||||
],
|
||||
[
|
||||
3,
|
||||
43
|
||||
],
|
||||
[
|
||||
14,
|
||||
58
|
||||
],
|
||||
[
|
||||
22,
|
||||
66
|
||||
],
|
||||
[
|
||||
33,
|
||||
72
|
||||
],
|
||||
[
|
||||
45,
|
||||
76
|
||||
],
|
||||
[
|
||||
57,
|
||||
78
|
||||
],
|
||||
[
|
||||
72,
|
||||
77
|
||||
],
|
||||
[
|
||||
87,
|
||||
74
|
||||
],
|
||||
[
|
||||
97,
|
||||
69
|
||||
],
|
||||
[
|
||||
104,
|
||||
65
|
||||
],
|
||||
[
|
||||
110,
|
||||
61
|
||||
],
|
||||
[
|
||||
114,
|
||||
55
|
||||
],
|
||||
[
|
||||
116,
|
||||
52
|
||||
],
|
||||
[
|
||||
116,
|
||||
51
|
||||
],
|
||||
[
|
||||
116,
|
||||
48
|
||||
],
|
||||
[
|
||||
116,
|
||||
46
|
||||
],
|
||||
[
|
||||
116,
|
||||
45
|
||||
],
|
||||
[
|
||||
115,
|
||||
43
|
||||
],
|
||||
[
|
||||
114,
|
||||
41
|
||||
],
|
||||
[
|
||||
111,
|
||||
40
|
||||
],
|
||||
[
|
||||
107,
|
||||
39
|
||||
],
|
||||
[
|
||||
101,
|
||||
39
|
||||
],
|
||||
[
|
||||
95,
|
||||
40
|
||||
],
|
||||
[
|
||||
90,
|
||||
42
|
||||
],
|
||||
[
|
||||
83,
|
||||
46
|
||||
],
|
||||
[
|
||||
79,
|
||||
49
|
||||
],
|
||||
[
|
||||
76,
|
||||
53
|
||||
],
|
||||
[
|
||||
73,
|
||||
58
|
||||
],
|
||||
[
|
||||
71,
|
||||
64
|
||||
],
|
||||
[
|
||||
70,
|
||||
72
|
||||
],
|
||||
[
|
||||
71,
|
||||
80
|
||||
],
|
||||
[
|
||||
75,
|
||||
90
|
||||
],
|
||||
[
|
||||
79,
|
||||
97
|
||||
],
|
||||
[
|
||||
82,
|
||||
101
|
||||
],
|
||||
[
|
||||
92,
|
||||
110
|
||||
],
|
||||
[
|
||||
98,
|
||||
114
|
||||
],
|
||||
[
|
||||
104,
|
||||
116
|
||||
],
|
||||
[
|
||||
112,
|
||||
117
|
||||
],
|
||||
[
|
||||
121,
|
||||
117
|
||||
],
|
||||
[
|
||||
130,
|
||||
115
|
||||
],
|
||||
[
|
||||
138,
|
||||
111
|
||||
],
|
||||
[
|
||||
146,
|
||||
106
|
||||
],
|
||||
[
|
||||
152,
|
||||
99
|
||||
],
|
||||
[
|
||||
155,
|
||||
93
|
||||
],
|
||||
[
|
||||
156,
|
||||
87
|
||||
],
|
||||
[
|
||||
156,
|
||||
80
|
||||
],
|
||||
[
|
||||
155,
|
||||
78
|
||||
],
|
||||
[
|
||||
155,
|
||||
77
|
||||
],
|
||||
[
|
||||
153,
|
||||
75
|
||||
],
|
||||
[
|
||||
151,
|
||||
74
|
||||
],
|
||||
[
|
||||
149,
|
||||
74
|
||||
],
|
||||
[
|
||||
147,
|
||||
74
|
||||
],
|
||||
[
|
||||
145,
|
||||
74
|
||||
],
|
||||
[
|
||||
141,
|
||||
78
|
||||
],
|
||||
[
|
||||
138,
|
||||
85
|
||||
],
|
||||
[
|
||||
138,
|
||||
93
|
||||
],
|
||||
[
|
||||
138,
|
||||
101
|
||||
],
|
||||
[
|
||||
140,
|
||||
116
|
||||
],
|
||||
[
|
||||
142,
|
||||
121
|
||||
],
|
||||
[
|
||||
143,
|
||||
125
|
||||
],
|
||||
[
|
||||
146,
|
||||
128
|
||||
],
|
||||
[
|
||||
150,
|
||||
132
|
||||
],
|
||||
[
|
||||
159,
|
||||
135
|
||||
],
|
||||
[
|
||||
169,
|
||||
139
|
||||
],
|
||||
[
|
||||
180,
|
||||
142
|
||||
],
|
||||
[
|
||||
188,
|
||||
143
|
||||
],
|
||||
[
|
||||
197,
|
||||
144
|
||||
],
|
||||
[
|
||||
203,
|
||||
143
|
||||
],
|
||||
[
|
||||
210,
|
||||
140
|
||||
],
|
||||
[
|
||||
213,
|
||||
137
|
||||
],
|
||||
[
|
||||
215,
|
||||
132
|
||||
],
|
||||
[
|
||||
217,
|
||||
127
|
||||
],
|
||||
[
|
||||
217,
|
||||
120
|
||||
],
|
||||
[
|
||||
216,
|
||||
115
|
||||
],
|
||||
[
|
||||
214,
|
||||
110
|
||||
],
|
||||
[
|
||||
213,
|
||||
107
|
||||
],
|
||||
[
|
||||
212,
|
||||
106
|
||||
],
|
||||
[
|
||||
210,
|
||||
104
|
||||
],
|
||||
[
|
||||
209,
|
||||
103
|
||||
],
|
||||
[
|
||||
206,
|
||||
103
|
||||
],
|
||||
[
|
||||
200,
|
||||
104
|
||||
],
|
||||
[
|
||||
196,
|
||||
107
|
||||
],
|
||||
[
|
||||
193,
|
||||
110
|
||||
],
|
||||
[
|
||||
192,
|
||||
112
|
||||
],
|
||||
[
|
||||
189,
|
||||
118
|
||||
],
|
||||
[
|
||||
188,
|
||||
121
|
||||
],
|
||||
[
|
||||
188,
|
||||
125
|
||||
],
|
||||
[
|
||||
188,
|
||||
128
|
||||
],
|
||||
[
|
||||
189,
|
||||
132
|
||||
],
|
||||
[
|
||||
192,
|
||||
137
|
||||
],
|
||||
[
|
||||
198,
|
||||
144
|
||||
],
|
||||
[
|
||||
205,
|
||||
149
|
||||
],
|
||||
[
|
||||
212,
|
||||
153
|
||||
],
|
||||
[
|
||||
221,
|
||||
158
|
||||
],
|
||||
[
|
||||
227,
|
||||
161
|
||||
],
|
||||
[
|
||||
231,
|
||||
162
|
||||
],
|
||||
[
|
||||
235,
|
||||
162
|
||||
],
|
||||
[
|
||||
239,
|
||||
162
|
||||
],
|
||||
[
|
||||
242,
|
||||
159
|
||||
],
|
||||
[
|
||||
247,
|
||||
155
|
||||
],
|
||||
[
|
||||
252,
|
||||
148
|
||||
],
|
||||
[
|
||||
255,
|
||||
138
|
||||
],
|
||||
[
|
||||
258,
|
||||
124
|
||||
],
|
||||
[
|
||||
258,
|
||||
117
|
||||
],
|
||||
[
|
||||
258,
|
||||
111
|
||||
],
|
||||
[
|
||||
257,
|
||||
107
|
||||
],
|
||||
[
|
||||
255,
|
||||
104
|
||||
],
|
||||
[
|
||||
252,
|
||||
102
|
||||
],
|
||||
[
|
||||
249,
|
||||
100
|
||||
],
|
||||
[
|
||||
245,
|
||||
99
|
||||
],
|
||||
[
|
||||
242,
|
||||
99
|
||||
],
|
||||
[
|
||||
239,
|
||||
100
|
||||
],
|
||||
[
|
||||
236,
|
||||
101
|
||||
],
|
||||
[
|
||||
234,
|
||||
104
|
||||
],
|
||||
[
|
||||
234,
|
||||
107
|
||||
],
|
||||
[
|
||||
234,
|
||||
112
|
||||
],
|
||||
[
|
||||
236,
|
||||
115
|
||||
],
|
||||
[
|
||||
241,
|
||||
119
|
||||
],
|
||||
[
|
||||
247,
|
||||
121
|
||||
],
|
||||
[
|
||||
253,
|
||||
123
|
||||
],
|
||||
[
|
||||
262,
|
||||
124
|
||||
],
|
||||
[
|
||||
265,
|
||||
124
|
||||
],
|
||||
[
|
||||
271,
|
||||
123
|
||||
],
|
||||
[
|
||||
275,
|
||||
121
|
||||
],
|
||||
[
|
||||
282,
|
||||
116
|
||||
],
|
||||
[
|
||||
286,
|
||||
114
|
||||
],
|
||||
[
|
||||
288,
|
||||
111
|
||||
],
|
||||
[
|
||||
290,
|
||||
109
|
||||
],
|
||||
[
|
||||
291,
|
||||
108
|
||||
],
|
||||
[
|
||||
292,
|
||||
107
|
||||
],
|
||||
[
|
||||
292,
|
||||
107
|
||||
]
|
||||
],
|
||||
"pressures": [],
|
||||
"simulatePressure": true,
|
||||
"lastCommittedPoint": [
|
||||
292,
|
||||
107
|
||||
]
|
||||
}
|
||||
],
|
||||
"appState": {
|
||||
"gridSize": null,
|
||||
"viewBackgroundColor": "#FFF"
|
||||
},
|
||||
"files": {}
|
||||
}
|
43
journals/2024_10_22.md
Normal file
43
journals/2024_10_22.md
Normal file
|
@ -0,0 +1,43 @@
|
|||
- Tutorial su #quadlets
|
||||
- https://linuxconfig.org/how-to-run-podman-containers-under-systemd-with-quadlet
|
||||
- Passi base per utilizzare #quadlets di #podman con #systemd
|
||||
- Creare la cartella
|
||||
- ```bash
|
||||
mkdir -p ~/.config/containers/systemd
|
||||
```
|
||||
- Creare un file di configurazione `proxy.network`per una rete
|
||||
- ```toml
|
||||
[Unit]
|
||||
Description=Proxy
|
||||
```
|
||||
- Creare un file di configurazione per un container #traefik `traefik.container`
|
||||
- ```toml
|
||||
[Unit]
|
||||
Description=Traefik container
|
||||
|
||||
[Container]
|
||||
Image=traefik:latest
|
||||
Network=proxy.network
|
||||
PublishPort=80:80
|
||||
PublishPort=443:443
|
||||
Volume=%h/srv/volumes/traefik/traefik.yml:/traefik.yml
|
||||
Volume=/run/user/1000/podman/podman.sock:/var/run/docker.sock
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
- Generare i servizi #systemd
|
||||
- ```bash
|
||||
systemctl --user daemon-reload
|
||||
```
|
||||
- Verificare che i servizi siano stati generati
|
||||
- ```bash
|
||||
systemctl --user cat proxy-network.service
|
||||
systemctl --user cat traefik.service
|
||||
```
|
||||
- Avviare i servizi #systemd
|
||||
- ```bash
|
||||
systemctl --user start proxy-network.service
|
||||
systemctl --user start traefik.service
|
||||
```
|
||||
-
|
2
journals/2024_10_24.md
Normal file
2
journals/2024_10_24.md
Normal file
|
@ -0,0 +1,2 @@
|
|||
- Software per la somministrazione di test
|
||||
- https://stack-assessment.org/
|
66
pages/Linux Day 2024.md
Normal file
66
pages/Linux Day 2024.md
Normal file
|
@ -0,0 +1,66 @@
|
|||
## #selfhosting : la via per l'indipendenza digitale
|
||||
- ### Chi sono
|
||||
- Andrea Fazzi
|
||||
- Docente di Matematica e Fisica
|
||||
- Programmatore full-stack
|
||||
- Utente GNU/Linux da circa 30 anni :)
|
||||
- ### Il problema
|
||||
- Vorrei avere uno spazio di archiviazione remoto per ma...
|
||||
- non voglio utilizzare [Amazon S3](https://aws.amazon.com/it/s3/) perché non **voglio sorprese sulla fattura**
|
||||
- le foto digitali dei miei figli devono rimanere nell'**armadio della loro cameretta**
|
||||
- Vorrei provare #grocy, un ERP per gestire la mia dispensa ma...
|
||||
- non voglio che le informazioni sulle mie abitudini alimentari siano memorizzate su uno storage **che non controllo**
|
||||
- affitto un piccolo #vps spendendo ~5 € al mese, ha poca RAM e non ho intenzione di passare ad un **piano tariffario superiore** per provare un software che forse non continuerò ad usare
|
||||
- Vorrei poter scansionare dei documenti tramite applicazione mobile e archiviarli su uno spazio condiviso però...
|
||||
- le diagnosi cliniche della mia famiglia **devono rimanere tra le mura domestiche**
|
||||
- Vorrei un calendario condiviso, compatibile con `caldav` ma...
|
||||
- non vorrei che le IA di #Google o qualche dipendente affetto da manie di grandezze (`god mode`) sappiano quand'è la mia prossima pulizia dentale
|
||||
- Vorrei che i miei contatti venissero sincronizzati con il mio smartphone tramite `carddav` ma non vorrei che #Google venga a conoscere
|
||||
- la data di nascita di mia zia
|
||||
- il numero di cellulare di mia moglie
|
||||
- Vorrei un server #git su cui mettere in revisione i miei progetti ma non voglio
|
||||
- pagare #Github per uno o più repository privati
|
||||
- dare il mio codice in pasto alle IA
|
||||
- Vorrei gestire un **mio nodo VPN** che a monte funga anche da *ad-blocker*.
|
||||
- Vorrei un DNS locale che risolva i nomi delle macchine all'interno della VPN
|
||||
- Vorrei che alcuni servizi fossero raggiungibili da rete pubblica e altri fossero confinati all'interno di una #vpn
|
||||
- In definitiva
|
||||
- I miei dati sono miei!
|
||||
- Il cloud è il computer di qualcun altro (molti altri)
|
||||
- Vorrei una possibilità di storage (quasi) senza limiti a costi accessibili
|
||||
- Oggi tutto si affitta e nulla si possiede!
|
||||
- ### La soluzione
|
||||
- Un #vps da quattro soldi (5 €) su #hetzner
|
||||
- Un #thinkcentre nell'armadio dei bimbi
|
||||
- Un tunnel #vpn
|
||||
- Due reverse-proxy #traefik che si parlano da un capo all'altro
|
||||
- Una manciata di servizi
|
||||
- Uno storage remoto con calendario e contatti #nextcloud
|
||||
- Un servizio per l'achiviazione di documenti #paperless
|
||||
- Un server #git con interfaccia web #gogs
|
||||
- Un servizio per gestire la dispensa #grocy
|
||||
- Una #vpn integrata con #pihole per l'*ad-blocking*
|
||||
- ### L'infrastruttura
|
||||
- #### Hardware
|
||||
- Una linea xDSL a 100/50 Mbit/s
|
||||
- Un #vps #hetzner
|
||||
- ![image.png](../assets/image_1729780747017_0.png)
|
||||
- Un #thinkcentre di qualche anno fa (~100 € sul mercato dell'usato)
|
||||
- ![image.png](../assets/image_1729780942325_0.png)
|
||||
- Due harddisk esterni Western Digital Elements a 5 TB ciascuno (!!!)
|
||||
- ![image.png](../assets/image_1729782020246_0.png)
|
||||
- #### Software
|
||||
- #ubuntu server 24.04
|
||||
- #podman
|
||||
- #restic + #cron per i #backup
|
||||
- #### Pagina wiki
|
||||
- https://hedgedoc.andreafazzi.eu/s/HYQca5cyY#
|
||||
- ### Sviluppi futuri
|
||||
- Migrare da #docker `compose` ai #quadlets
|
||||
- Migrare da #ubuntu a una distro #redhat compatibile tipo [Rocky Linux](https://rockylinux.org/it) per via del supporto "nativo" di #podman
|
||||
- Disaccoppiare i servizi attualmente riuniti in `wirehole` (#wireguard e #pihole )
|
||||
- Migrare a #kubernetes...?
|
||||
- ### Grazie!
|
||||
- posta@andreafazzi.eu
|
||||
-
|
||||
-
|
9
pages/excalidraw-2024-10-24-13-15-45.md
Normal file
9
pages/excalidraw-2024-10-24-13-15-45.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
excalidraw-plugin:: true
|
||||
|
||||
- #+BEGIN_IMPORTANT
|
||||
This file is used to store excalidraw information, Please do not manually edit this file.
|
||||
#+END_IMPORTANT
|
||||
- {{renderer excalidraw-menu, excalidraw-2024-10-24-13-15-45}}
|
||||
- ```json
|
||||
{"elements":[{"id":"-jCE-1F6f9qP_9znmynzd","type":"freedraw","x":879,"y":213,"width":107,"height":150,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"roundness":null,"seed":1260146870,"version":38,"versionNonce":363753642,"isDeleted":false,"boundElements":null,"updated":1729768554121,"link":null,"locked":false,"points":[[0,0],[-1,2],[-5,7],[-13,18],[-18,32],[-23,50],[-24,67],[-23,80],[-20,92],[-17,101],[-12,111],[-5,120],[4,129],[14,138],[24,144],[32,148],[39,150],[53,150],[62,147],[71,142],[77,136],[81,128],[83,121],[83,118],[83,114],[76,107],[66,104],[58,103],[52,104],[47,108],[43,112],[39,120],[38,121],[38,122],[37,122],[37,123],[37,123]],"pressures":[],"simulatePressure":true,"lastCommittedPoint":[37,123]}],"files":{},"appState":{"gridSize":null,"viewBackgroundColor":"#ffffff","zoom":{"value":1},"offsetTop":20,"offsetLeft":0,"scrollX":0,"scrollY":0,"viewModeEnabled":false,"zenModeEnabled":false}}
|
||||
```
|
8
pages/excalidraw-library-items-storage.md
Normal file
8
pages/excalidraw-library-items-storage.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
excalidraw-plugin-library:: true
|
||||
|
||||
- #+BEGIN_IMPORTANT
|
||||
This file is used to store excalidraw information, Please do not manually edit this file.
|
||||
#+END_IMPORTANT
|
||||
- ```json
|
||||
[]
|
||||
```
|
3
pages/paperless.md
Normal file
3
pages/paperless.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
- E' un software per l'achiviazione e la gestione di documenti
|
||||
- https://docs.paperless-ngx.com/
|
||||
- Fa parte del mio #homelab
|
3
pages/quadlets.md
Normal file
3
pages/quadlets.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
- Si tratta di file di configurazione che permettono di gestire container nel contesto di #systemd
|
||||
- Per i #quadlets si utilizzi l'API di #systemd
|
||||
- Di fatto sostituiscono i file `docker-compose.yml` #docker
|
Loading…
Reference in a new issue