Compare commits

...

96 Commits

Author SHA1 Message Date
b7e300bd6e "Updates" 2025-12-01 16:24:13 +01:00
55a79f87f2 "Updates" 2025-12-01 16:20:37 +01:00
69938dbaa5 "Updates" 2025-12-01 16:14:51 +01:00
8d24f04835 "Updates" 2025-11-15 15:57:43 +01:00
bba97daccb "Updates" 2025-11-15 15:55:00 +01:00
2a98486539 "Updates" 2025-11-15 15:24:48 +01:00
c3a49a56fa "Updates" 2025-11-15 15:17:53 +01:00
baab094ae0 "Updates" 2025-11-15 15:09:25 +01:00
9ba50a608c "Updates" 2025-11-15 15:05:55 +01:00
30a8054f08 "Updates" 2025-11-15 14:58:54 +01:00
be7c77f535 "Monitoring" 2025-11-13 19:47:31 +01:00
5782483e38 "Updates" 2025-11-13 11:49:41 +01:00
2bfb3a0793 "Updates" 2025-11-12 09:25:22 +01:00
6e79bcb30b "Updates" 2025-11-10 14:14:10 +01:00
b29aa2fc3e "Updates" 2025-11-08 12:37:05 +01:00
af37a21eb2 Updates 2025-11-08 12:03:01 +01:00
a6c26e2be1 Updates 2025-11-08 11:43:36 +01:00
45efbb92d5 Updates 2025-11-08 11:19:28 +01:00
70bf3d71e1 Switched from Dockmon to Beszel 2025-10-31 17:36:06 +01:00
bc1fbdf1c5 "Updates" 2025-10-23 15:27:01 +02:00
23233a402b "Updates" 2025-10-23 09:34:14 +02:00
47c068e1d9 "Updates" 2025-10-23 09:00:31 +02:00
5be21666c5 "Updates" 2025-10-22 17:33:59 +02:00
be00f2ca59 "Updates" 2025-10-20 14:28:29 +02:00
bd3669e206 "Updates" 2025-10-20 14:27:01 +02:00
33d77d76e7 "Updates" 2025-10-20 14:21:43 +02:00
d11f4a81e6 "Updates" 2025-10-20 12:10:48 +02:00
86a93f9c7c "Updates" 2025-10-20 12:09:00 +02:00
5f7d53fbca "Updates" 2025-10-20 12:06:18 +02:00
489a33655e "Updates" 2025-10-20 12:05:35 +02:00
26a7ac9b2e "Updates" 2025-10-20 12:04:37 +02:00
6ef480e13f "Updates" 2025-10-18 18:14:47 +02:00
15ac2592e0 Added Borg Backup 2025-10-18 17:45:42 +02:00
55a59ce5f3 Updates 2025-10-14 13:30:34 +02:00
27d8c536e4 "Updates" 2025-10-14 13:28:14 +02:00
0f9acf83f5 "Updates" 2025-10-14 12:17:12 +02:00
cd9d0dfb82 "Updates" 2025-10-14 11:40:24 +02:00
0391c697ce "Updates" 2025-10-14 11:39:48 +02:00
fe9dec0986 "Updates" 2025-10-14 11:38:58 +02:00
92fe193e9f "Updates" 2025-10-14 11:36:37 +02:00
8f41bca5ef "Updates" 2025-10-14 11:35:00 +02:00
614c1cb882 "Updates" 2025-10-14 11:33:46 +02:00
29c79f7435 "Updates" 2025-10-14 11:31:01 +02:00
bb06aa5899 "Updates" 2025-10-14 11:28:56 +02:00
8f7c650b67 "Updates" 2025-10-14 11:28:17 +02:00
3418574091 "Updates" 2025-10-14 11:27:29 +02:00
85259de2b6 Updated image 2025-10-14 10:50:03 +02:00
b627f61900 Updates 2025-10-14 10:13:43 +02:00
fe789dc10f Updated image 2025-10-13 18:29:56 +02:00
9176fed577 "Updates" 2025-10-13 18:22:20 +02:00
e73456d028 New picture 2025-10-13 18:21:38 +02:00
9db46695b2 "Updates" 2025-10-13 18:20:39 +02:00
c0c0a01908 "Updates" 2025-10-13 00:33:10 +02:00
2632004407 "Updates" 2025-10-13 00:08:51 +02:00
8cd799598f "Updates" 2025-10-13 00:01:14 +02:00
462ce1428a "Updates" 2025-10-12 23:46:55 +02:00
298a4a0ce9 "Updates" 2025-10-04 00:45:51 +02:00
c99d6c6c7d "Updates" 2025-10-04 00:43:58 +02:00
3d0675a431 "Updates" 2025-10-03 23:29:13 +02:00
bf82ce8fe0 "Updates" 2025-10-03 23:06:42 +02:00
23b73851af "Updates" 2025-10-01 18:52:49 +02:00
452750d3dd "Updates" 2025-09-30 09:56:13 +02:00
26a8add1e6 Added windmill to gary 2025-09-30 09:49:31 +02:00
760de115b5 "Updates" 2025-09-26 18:20:25 +02:00
e0632b0ab5 Updates 2025-09-24 13:51:45 +02:00
c289c17200 Updates 2025-09-24 11:59:02 +02:00
b4d20a6063 Actualiser On host/Docker.md 2025-09-24 10:34:34 +02:00
1a9ac3d8f4 Updates 2025-09-23 12:27:47 +02:00
0d4e70f9cc Updates 2025-09-22 16:33:52 +02:00
294b40a3e4 Updates 2025-09-21 10:28:45 +02:00
ee4bc73742 Updated docker global conf 2025-09-18 18:08:21 +02:00
a92712a751 Updates 2025-09-12 13:55:31 +02:00
c4cf3acfe1 "Updates" 2025-09-06 16:08:28 +02:00
3e8f19122f "Updates" 2025-09-06 16:03:46 +02:00
bfbfaf2d0c "Updates" 2025-09-05 18:57:03 +02:00
1508c26207 Added error handles for static sites 2025-08-29 17:32:47 +02:00
ab50915a53 Some cleanup in Caddyfile 2025-08-29 15:53:29 +02:00
9b65de70de Updated hosts list 2025-08-25 18:03:19 +02:00
cb7d6c9187 Updated hosts list 2025-08-25 18:01:08 +02:00
5ffcde3797 Updated hosts list 2025-08-25 17:57:59 +02:00
bce22e338f Updated hosts list 2025-08-25 17:56:30 +02:00
19ec50325f Actualiser On host/Caddy.md 2025-08-25 15:25:12 +02:00
30cc023fa3 Caddyfile update 2025-08-04 11:04:45 +02:00
b9d63c4bb1 Updates 2025-07-26 11:37:15 +02:00
a1b1614e53 Updates 2025-07-26 11:35:03 +02:00
b9b59f2eae Actualiser Turing Pi/nfs-server.md 2025-07-26 11:30:33 +02:00
b4bff712bc Added Gotify 2025-06-14 09:37:55 +02:00
82839da4d6 Updates 2025-06-07 01:33:08 +02:00
a62397c267 Update Caddyfile 2025-05-31 16:21:50 +02:00
1951d195e4 Various uodates 2025-05-31 12:31:25 +02:00
bd5da41b9d Updates 2025-05-26 00:04:15 +02:00
694f52e40b Caddyfile update 2025-05-23 15:42:43 +02:00
810d55c5dc Caddyfile updates 2025-05-19 03:11:11 +02:00
3dfe9f5ea2 Updated inventory 2025-05-16 19:20:42 +02:00
35b720c77f Caddyfile updates 2025-05-16 15:40:19 +02:00
4258dd4fb2 Updated Caddyfile 2025-05-15 16:30:39 +02:00
25 changed files with 2292 additions and 729 deletions

View File

@@ -13,7 +13,7 @@ all:
carlo: carlo:
ansible_connection: ssh ansible_connection: ssh
ansible_user: pleb ansible_user: pleb
patrick: gary:
ansible_connection: ssh ansible_connection: ssh
ansible_user: pleb ansible_user: pleb
sandy: sandy:
@@ -25,6 +25,12 @@ all:
sheldon: sheldon:
ansible_connection: ssh ansible_connection: ssh
ansible_user: pleb ansible_user: pleb
bernie:
ansible_connection: ssh
ansible_user: pleb
pearl:
ansible_connection: ssh
ansible_user: pleb
``` ```
```bash ```bash
@@ -33,12 +39,14 @@ sudo vim ~/.ansible/inventory
``` ```
[all] [all]
bob ansible_connection=ssh ansible_user=pleb bob ansible_connection=ssh ansible_user=pleb
carlo ansible_connection=ssh ansible_user=pleb carlo ansible_connection=ssh ansible_user=pleb
gary ansible_connection=ssh ansible_user=pleb gary ansible_connection=ssh ansible_user=pleb
sandy ansible_connection=ssh ansible_user=pleb sandy ansible_connection=ssh ansible_user=pleb
krabs ansible_connection=ssh ansible_user=pleb krabs ansible_connection=ssh ansible_user=pleb
sheldon ansible_connection=ssh ansible_user=pleb sheldon ansible_connection=ssh ansible_user=pleb
bernie ansible_connection=ssh ansible_user=pleb
pearl ansible_connection=ssh ansible_user=pleb
``` ```
```bash ```bash
@@ -639,4 +647,4 @@ vim ~/ansible/update.yaml
```bash ```bash
ansible-playbook -i ~/.ansible/inventory.yaml ~/ansible/update.yaml ansible-playbook -i ~/.ansible/inventory.yaml ~/ansible/update.yaml
``` ```

View File

@@ -31,4 +31,76 @@ dns_ovh_endpoint = ovh-eu
dns_ovh_application_key = 3f8bdfed17f848d8 dns_ovh_application_key = 3f8bdfed17f848d8
dns_ovh_application_secret = 6946758d7515ecef108aeb286bf3c7d0 dns_ovh_application_secret = 6946758d7515ecef108aeb286bf3c7d0
dns_ovh_consumer_key = 94b2ddf482d36421a33aa6b3aa515956 dns_ovh_consumer_key = 94b2ddf482d36421a33aa6b3aa515956
``` ```
#### Zone DNS de delmar.bzh
```txt
$TTL 3600
@ IN SOA dns106.ovh.net. tech.ovh.net. (2025120101 86400 3600 3600000 300)
IN NS dns106.ovh.net.
IN NS ns106.ovh.net.
IN MX 100 mx3.mail.ovh.net.
IN MX 50 mx2.mail.ovh.net.
IN MX 10 mx1.mail.ovh.net.
IN MX 0 mx0.mail.ovh.net.
IN A 213.186.33.5
IN TXT "v=spf1 include:mx.ovh.com ~all"
IN TXT "1|www.delmar.bzh"
IN TXT "openpgp4fpr:E22A8974BD3F45E3A827AEB891AFB168A1EAD35C"
IN TXT "google-site-verification=j7RPCRYeiAgvZ4uHOD3ZQ4uqi-vPQ-UUmyVD9WXv4t8"
IN CAA 0 issue "letsencrypt.org"
_autodiscover._tcp IN SRV 0 0 443 pro1.mail.ovh.net.
_dmarc IN TXT "v=DMARC1;p=none;sp=none;aspf=r;"
affine IN A 176.188.240.123
asm IN A 176.188.240.123
auth IN A 176.188.240.123
autoconfig IN CNAME autodiscover.mail.ovh.net.
autodiscover IN CNAME mailconfig.ovh.net.
books IN A 176.188.240.123
bookstack IN A 176.188.240.123
cap IN A 176.188.240.123
cloud IN A 176.188.240.123
crm IN A 176.188.240.123
cs IN A 176.188.240.123
ctr IN A 176.188.240.123
cvs IN A 176.188.240.123
dev IN A 176.188.240.123
dkr IN A 176.188.240.123
dolibarr IN A 176.188.240.123
draw IN A 176.188.240.123
ftp IN CNAME delmar.bzh.
gen IN A 176.188.240.123
git IN A 176.188.240.123
gotify IN A 176.188.240.123
home-assistant IN A 176.188.240.123
homepage IN A 176.188.240.123
it IN A 176.188.240.123
jellyfin IN A 176.188.240.123
jellyseerr IN A 176.188.240.123
kontadenn IN A 176.188.240.123
mailbear IN A 176.188.240.123
minio IN A 176.188.240.123
mon IN A 176.188.240.123
nds IN A 176.188.240.123
nsns IN A 176.188.240.123
octoprint IN A 176.188.240.123
ovhemp1116203-selector1._domainkey 60 IN CNAME ovhemp1116203-selector1._domainkey.274927.cq.dkim.mail.ovh.net.
ovhemp1116203-selector2._domainkey 60 IN CNAME ovhemp1116203-selector2._domainkey.274928.az.dkim.mail.ovh.net.
paperless IN A 176.188.240.123
pdf IN A 176.188.240.123
penpot IN A 176.188.240.123
pip IN A 176.188.240.123
rallly IN A 176.188.240.123
search IN A 176.188.240.123
send IN A 176.188.240.123
shop IN A 176.188.240.123
stream IN A 176.188.240.123
tpml IN A 176.188.240.123
twip IN A 176.188.240.123
ugo IN A 176.188.240.123
vault IN A 176.188.240.123
wizarr IN A 176.188.240.123
www IN A 176.188.240.123
xcd IN A 176.188.240.123
```

72
Divers/OVH_Stalwart.md Normal file
View File

@@ -0,0 +1,72 @@
#### Zone DNS modifiée de delmar.bzh
```txt
$TTL 3600
@ IN SOA dns106.ovh.net. tech.ovh.net. (2025102306 86400 3600 3600000 300)
IN NS dns106.ovh.net.
IN NS ns106.ovh.net.
IN MX 10 mail.delmar.bzh.
IN A 213.186.33.5
IN TXT "v=spf1 include:mx.ovh.com ~all"
IN TXT "1|www.delmar.bzh"
IN TXT "openpgp4fpr:E22A8974BD3F45E3A827AEB891AFB168A1EAD35C"
IN TXT "google-site-verification=j7RPCRYeiAgvZ4uHOD3ZQ4uqi-vPQ-UUmyVD9WXv4t8"
IN CAA 0 issue "letsencrypt.org"
202510e._domainkey IN TXT "v=DKIM1; k=ed25519; h=sha256; p=zqH42wS9S4UgMXBrPKZxJSi45eEjewXJsboHRq7p30E="
202510r._domainkey IN TXT ( "v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoqg5JMaBF3fDBZ36KRULZR7HnuytV0SmuezMZyPP4KOPyhMdK2aqe12ct7JwCs5dCBPD3nGxqqjHgPDXv4l+pqVIjuGKNYKOfVMvHxlMQWAudyyMfYwj8ve/wCKB3LKsOo+y7JFMNYyWw+/UIBqM2gY4Y2aOCR/tpZo+wQGYQPzkHHE7gl" "81pT0YwtHR6FZZM7vrKC3qdZ8iglfIUvwsCOl+B4alYPfWSpuKT8moWP58LQX8qgDdWLYvMzN7X4ljW2lNiXdxHcrGsPCCE87ROregNNpImKMuIZl/dn7MJey+8NzAqPo2PT9nUmTEpQ+1Ty52TrBwiT/2JeB+gdeJnQIDAQAB" )
_dmarc IN TXT "v=DMARC1; p=reject; rua=mailto:postmaster@delmar.bzh; ruf=mailto:postmaster@delmar.bzh"
_imaps._tcp IN SRV 0 1 993 mail.delmar.bzh.
_smtp._tls IN TXT "v=TLSRPTv1; rua=mailto:postmaster@delmar.bzh"
_submissions._tcp IN SRV 0 1 465 mail.delmar.bzh.
affine IN A 176.188.240.123
asm IN A 176.188.240.123
auth IN A 176.188.240.123
autoconfig IN A 176.188.240.123
autodiscover IN A 176.188.240.123
books IN A 176.188.240.123
bookstack IN A 176.188.240.123
cap IN A 176.188.240.123
cloud IN A 176.188.240.123
cpt IN A 176.188.240.123
cs IN A 176.188.240.123
ctr IN A 176.188.240.123
cvs IN A 176.188.240.123
dev IN A 176.188.240.123
dkr IN A 176.188.240.123
dolibarr IN A 176.188.240.123
draw IN A 176.188.240.123
ftp IN A 176.188.240.123
gen IN A 176.188.240.123
git IN A 176.188.240.123
gotify IN A 176.188.240.123
home-assistant IN A 176.188.240.123
homepage IN A 176.188.240.123
it IN A 176.188.240.123
jellyfin IN A 176.188.240.123
jellyseerr IN A 176.188.240.123
kontadenn IN A 176.188.240.123
mail IN A 176.188.240.123
mail IN TXT "v=spf1 a ra=postmaster -all"
mail IN TXT "v=spf1 mx ra=postmaster -all"
mailbear IN A 176.188.240.123
minio IN A 176.188.240.123
nds IN A 176.188.240.123
nsns IN A 176.188.240.123
octoprint IN A 176.188.240.123
paperless IN A 176.188.240.123
pdf IN A 176.188.240.123
penpot IN A 176.188.240.123
rallly IN A 176.188.240.123
search IN A 176.188.240.123
send IN A 176.188.240.123
shop IN A 176.188.240.123
ssm IN A 176.188.240.123
stream IN A 176.188.240.123
tpml IN A 176.188.240.123
twip IN A 176.188.240.123
ugo IN A 176.188.240.123
vault IN A 176.188.240.123
wizarr IN A 176.188.240.123
www IN A 176.188.240.123
xcd IN A 176.188.240.123
```

View File

@@ -2,6 +2,41 @@
### target : krabs (nfs server) ### target : krabs (nfs server)
## Synchronisation simple
```bash
rsync -avh /srv/appdata/ /mnt/backup/appdata/
```
## Synchronisation avec --delete
```bash
rsync -avh --delete /srv/appdata/ /mnt/backup/appdata/
```
## Synchronisation avec --progress
```bash
rsync -avh --progress /srv/appdata/ /mnt/backup/appdata/
```
## Synchronisation avec --partial
```bash
rsync -avh --partial /srv/appdata/ /mnt/backup/appdata/
```
## Synchronisation avec --partial et --progression
```bash
rsync -avh -P /srv/appdata/ /mnt/backup/appdata/
```
## Automatiser rsync
```bash
crontab -e
```
```text
00 00 * * * sudo rsync -avh -P --delete /srv/appdata/ /mnt/backup/appdata/
```
## Dossiers de bikiniBottom
#### tv-shows #### tv-shows
```bash ```bash
@@ -51,5 +86,5 @@ rsync -r -v --rsync-path='sudo rsync' --progress -e ssh ~/Sync/delmar.bzh/nds/pu
### Copy from <folder> to another <host> ### Copy from <folder> to another <host>
```bash ```bash
rsync -r -av --rsync-path='sudo rsync' --progress -e ssh /mnt/data/docker/<folder> -p pleb@<host>:/mnt/data/docker/ sudo rsync -r -av --rsync-path='sudo rsync' --progress -p -e "ssh -i /home/pleb/.ssh/id_ed25519" /path/to/source/<folder> pleb@<host>:/path/to/destination/
``` ```

70
Divers/Zone DNS.md Normal file
View File

@@ -0,0 +1,70 @@
### Zone DNS
```
$TTL 3600
@ IN SOA dns106.ovh.net. tech.ovh.net. (2025100947 86400 3600 3600000 60)
IN NS dns106.ovh.net.
IN NS ns106.ovh.net.
IN MX 50 mx2.mail.ovh.net.
IN MX 5 mx1.mail.ovh.net.
IN MX 100 mx3.mail.ovh.net.
IN MX 1 mx0.mail.ovh.net.
IN A 213.186.33.5
IN TXT "v=spf1 include:mx.ovh.com ~all"
IN TXT "1|www.delmar.bzh"
IN TXT "openpgp4fpr:E22A8974BD3F45E3A827AEB891AFB168A1EAD35C"
IN TXT "google-site-verification=j7RPCRYeiAgvZ4uHOD3ZQ4uqi-vPQ-UUmyVD9WXv4t8"
IN CAA 0 issue "letsencrypt.org"
_autodiscover._tcp IN SRV 0 0 443 pro1.mail.ovh.net.
_dmarc IN TXT "v=DMARC1;p=none;sp=none;aspf=r;"
ovhemp1116203-selector1._domainkey 60 IN CNAME ovhemp1116203-selector1._domainkey.274927.cq.dkim.mail.ovh.net.
ovhemp1116203-selector2._domainkey 60 IN CNAME ovhemp1116203-selector2._domainkey.274928.az.dkim.mail.ovh.net.
autoconfig IN CNAME autodiscover.mail.ovh.net.
autodiscover IN CNAME mailconfig.ovh.net.
ftp IN CNAME delmar.bzh.
3dm IN A 176.188.240.123
affine IN A 176.188.240.123
asm IN A 176.188.240.123
books IN A 176.188.240.123
bookstack IN A 176.188.240.123
cap IN A 176.188.240.123
cloud IN A 176.188.240.123
cpt IN A 176.188.240.123
cs IN A 176.188.240.123
ctr IN A 176.188.240.123
cvs IN A 176.188.240.123
dev IN A 176.188.240.123
dkr IN A 176.188.240.123
dolibarr IN A 176.188.240.123
draw IN A 176.188.240.123
gen IN A 176.188.240.123
git IN A 176.188.240.123
gotify IN A 176.188.240.123
home-assistant IN A 176.188.240.123
homepage IN A 176.188.240.123
it IN A 176.188.240.123
jellyfin IN A 176.188.240.123
jellyseerr IN A 176.188.240.123
kontadenn IN A 176.188.240.123
mailbear IN A 176.188.240.123
minio IN A 176.188.240.123
mmm IN A 176.188.240.123
nds IN A 176.188.240.123
nsns IN A 176.188.240.123
octoprint IN A 176.188.240.123
paperless IN A 176.188.240.123
pdf IN A 176.188.240.123
penpot IN A 176.188.240.123
rallly IN A 176.188.240.123
search IN A 176.188.240.123
send IN A 176.188.240.123
shop IN A 176.188.240.123
ssm IN A 176.188.240.123
stream IN A 176.188.240.123
tpml IN A 176.188.240.123
twip IN A 176.188.240.123
ugo IN A 176.188.240.123
vault IN A 176.188.240.123
wizarr IN A 176.188.240.123
wud IN A 176.188.240.123
www IN A 176.188.240.123
```

View File

@@ -40,7 +40,10 @@ export PATH=$PATH:/usr/local/go/bin
mkdir ~/caddy mkdir ~/caddy
cd caddy cd caddy
xcaddy build --with github.com/caddy-dns/ovh xcaddy build --with github.com/caddy-dns/ovh \
--with github.com/mholt/caddy-l4/modules/l4proxy \
--with github.com/mholt/caddy-l4/modules/l4tls \
--with github.com/mholt/caddy-l4/modules/l4proxyprotocol
sudo mv caddy /usr/bin sudo mv caddy /usr/bin
sudo chown root:root /usr/bin/caddy sudo chown root:root /usr/bin/caddy
sudo chmod 755 /usr/bin/caddy sudo chmod 755 /usr/bin/caddy
@@ -51,211 +54,7 @@ sudo systemctl daemon-reload
sudo vim /etc/caddy/Caddyfile sudo vim /etc/caddy/Caddyfile
``` ```
``` > [[Caddyfile]]
{
debug
http_port 80
https_port 443
email admin@delmar.bzh
default_sni delmar.bzh
acme_dns ovh {
endpoint ovh-eu
application_key 3f8bdfed17f848d8
application_secret 6946758d7515ecef108aeb286bf3c7d0
consumer_key 94b2ddf482d36421a33aa6b3aa515956
}
}
(LAN_only) {
@local_subnets {
not remote_ip 192.168.1.0/24
}
respond @local_subnets 403
}
*:80 {
root * /var/www/comics
encode gzip zstd
file_server
}
bookstack.delmar.bzh
reverse_proxy carlo:6875
encode gzip zstd
}
books.delmar.bzh {
reverse_proxy sandy:8083 {
header_up X-Scheme https
}
encode gzip zstd
}
cloud.delmar.bzh {
encode gzip zstd
reverse_proxy sandy:35771 {
header_up Host {upstream_hostport}
}
redir /.well-known/carddav /remote.php/dav/ 301
redir /.well-known/caldav /remote.php/dav/ 301
header {
Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"
X-XSS-Protection "1; mode=block;"
X-Content-Type-Options "nosniff"
X-Frame-Options "SAMEORIGIN"
}
}
stun.delmar.bzh {
encode gzip zstd
reverse_proxy sandy:44397
}
webmin.delmar.bzh {
reverse_proxy bob:10000 {
transport http {
read_buffer 0
write_buffer 0
tls_insecure_skip_verify
versions 1.1
}
}
encode gzip zstd
}
dolibarr.delmar.bzh {
reverse_proxy carlo:64616
encode gzip zstd
}
draw.delmar.bzh {
reverse_proxy carlo:8080
encode gzip zstd
}
git.delmar.bzh {
reverse_proxy sheldon:3000
encode gzip zstd
}
homepage.delmar.bzh {
reverse_proxy bob:5005
encode gzip zstd
}
home-assistant.delmar.bzh {
reverse_proxy carlo:8123
encode gzip zstd
}
it.delmar.bzh {
reverse_proxy bob:8888
encode gzip zstd
}
cs.delmar.bzh {
reverse_proxy sheldon:49505
encode gzip zstd
}
jellyfin.delmar.bzh {
reverse_proxy gary:8096
encode gzip zstd
}
jellyseerr.delmar.bzh {
reverse_proxy gary:5055
encode gzip zstd
}
wizarr.delmar.bzh {
reverse_proxy gary:5690
encode gzip zstd
}
julien.delmar.bzh {
root * /var/www/resumes/julien
encode gzip zstd
file_server
}
kontadenn.delmar.bzh {
root * /var/www/kontadenn
encode gzip zstd
file_server
}
nds.delmar.bzh {
root * /var/www/nds
encode gzip zstd
file_server
}
nsns.delmar.bzh {
root * /var/www/nsns
encode gzip zstd
file_server
}
paperless.delmar.bzh {
reverse_proxy sandy:8000
encode gzip zstd
}
penpot.delmar.bzh {
reverse_proxy sandy:43735
encode gzip zstd
}
send.delmar.bzh {
reverse_proxy krabs:3000
encode gzip zstd
}
tools.delmar.bzh {
reverse_proxy sandy:9890
encode gzip zstd
}
ugo.delmar.bzh {
reverse_proxy carlo:8090
encode gzip zstd
}
vault.delmar.bzh {
reverse_proxy carlo:8081
encode gzip zstd
}
www.delmar.bzh {
root * /var/www/comics
encode gzip zstd
file_server
}
octoprint.delmar.bzh {
reverse_proxy bernie:54963 {
header_up X-Forwarded-Proto {scheme}
}
encode gzip zstd
}
stream.delmar.bzh {
reverse_proxy bernie:8080
encode gzip zstd
basic_auth / {
admin $2a$14$RuKvTkZWcLpyX/ptJmkmYOd6WpDACXi.fIcz2feCcvTW73vZ/4TSi
}
}
squirrel.delmar.bzh {
reverse_proxy bob:8000
encode gzip zstd
}
```
```bash ```bash
sudo systemctl restart caddy sudo systemctl restart caddy
@@ -263,10 +62,259 @@ sudo systemctl restart caddy
# Services # Services
<div class="table-wrapper" id="bkmrk-service-host-ip%3Aport"><table><tbody><tr><th>Service</th><th>Host</th><th>IP:port</th></tr><tr><td>books.delmar.bzh</td><td>sandy</td><td>192.168.1.65:8083</td></tr><tr><td>bookstack.delmar.bzh <div class="table-wrapper" id="bkmrk-service-host-ip%3Aport"><table>
<tbody>
</td><td>sheldon</td><td>192.168.1.230:6875</td></tr><tr><td>cloud.delmar.bzh <tr>
<th>URL</th>
</td><td>sandy</td><td>192.168.1.65:9880</td></tr><tr><td>cockpit.delmar.bzh</td><td>bob</td><td>192.168.1.99:9090</td></tr><tr><td>dolibarr.delmar.bzh</td><td>carlo</td><td>192.168.1.163:8080</td></tr><tr><td>git.delmar.bzh</td><td>carlo</td><td>192.168.1.163:3001</td></tr><tr><td>homepage.delmar.bzh</td><td>bob</td><td>192.168.1.99:5005</td></tr><tr><td>jellyfin.delmar.bzh</td><td>sandy</td><td>192.168.1.65:8096</td></tr><tr><td>jellyseer.delmar.bzh</td><td>sandy</td><td>192.168.1.65:5055</td></tr><tr><td>julien.delmar.bzh</td><td>bob</td><td>&gt; Caddyfile</td></tr><tr><td>kontadenn.delmar.bzh</td><td>bob</td><td>&gt; Caddyfile</td></tr><tr><td>nds.delmar.bzh</td><td>bob</td><td>&gt; Caddyfile</td></tr><tr><td>nsns.delmar.bzh</td><td>bob</td><td>&gt; Caddyfile</td></tr><tr><td>penpot.delmar.bzh</td><td>carlo</td><td>192.168.1.163:8082</td></tr><tr><td>portainer.delmar.bzh</td><td>bob</td><td>192.168.1.99:9443</td></tr><tr><td>rallly.delmar.bzh</td><td>carlo</td><td>192.168.1.163:3000</td></tr><tr><td>send.delmar.bzh</td><td>krabs</td><td>192.168.1.229:8080</td></tr><tr><td>shop.delmar.bzh</td><td>patrick</td><td>192.168.1.186:86</td></tr><tr><td>ugo.delmar.bzh</td><td>patrick</td><td>192.168.1.186:82</td></tr><tr><td>uptime.delmar.bzh</td><td>bob</td><td>192.168.1.99:3001</td></tr><tr><td>vault.delmar.bzh</td><td>carlo</td><td>192.168.1.163:8081</td></tr><tr><td>www.delmar.bzh</td><td>bob</td><td>&gt; Caddyfile</td></tr><tr><td> </td><td> </td><td> </td></tr></tbody></table> <th>host</th>
<th>(service) port</th>
</tr>
<tr>
<td>affine.delmar.bzh</td>
<td>sandy</td>
<td>(affine_server) 3010 </br>
(affine_migration_job)</br>
(affine_postgres)</br>
(affine_redis)</br></td>
</tr>
<tr>
<td>books.delmar.bzh</td>
<td>sandy</td>
<td>(booklore) 32768 </br>
(mariadb)</td>
</tr>
<tr>
<td>bookstack.delmar.bzh</td>
<td>sandy</td>
<td>(bookstack) 6875 </br>
(bookstack_db)</td>
</tr>
<tr>
<td>caddymanager</td>
<td>bob</td>
<td>(frontend) 20125 </br>
(backend) </br>
(mongodb)</td>
</tr>
<tr>
<td>cap.delmar.bzh</td>
<td>carlo</td>
<td>(cap-standalone) 55338</td>
</tr>
<tr>
<td>cloud.delmar.bzh</td>
<td>sheldon</td>
<td>(nextcloud-aio-mastercontainer) 8080 </br>
(nextcloud-aio-apache) 11000</br>
(nextcloud-aio-nextcloud)</br>
(nextcloud-aio-imaginary)</br>
(nextcloud-aio-redis)</br>
(nextcloud-aio-database)</br>
(nextcloud-aio-whiteboard)</br>
(nextcloud-aio-notify-push)</br>
(nextcloud-aio-talk) 3478</br>
(nextcloud-aio-collabora)</td>
</tr>
<tr>
<td>cpt.delmar.bzh</td>
<td>All</td>
<td>() 9090</td>
</tr>
<tr>
<td>cs.delmar.bzh</td>
<td>sandy</td>
<td>(code-server) 49505</td>
</tr>
<tr>
<td>ctr.delmar.bzh</td>
<td>sheldon</td>
<td>(compose-craft-saas) 47810 </br>
(compose-craft-db) 27017</td>
</tr>
<tr>
<td>cvs.delmar.bzh</td>
<td>sandy</td>
<td>(reactive-resume_app) 54268 </br>
(reactive-resume_minio) 9000 </br>
(reactive-resume_chrome) </br>
(reactive-resume_postgres)</td>
</tr>
<tr>
<td>dev.delmar.bzh</td>
<td>gary</td>
<td>(wm-caddy) 19409 | 25</br>
(wm-lsp)</br>
(multiplayer)</br>
(wm-postgres)</td>
</tr>
<tr>
<td>dkr.delmar.bzh</td>
<td>bob</td>
<td>(dockmon) 8001</td>
</tr>
<tr>
<td>dolibarr.delmar.bzh</td>
<td>sandy</td>
<td>(dolibarr_app) 64616 </br>
(dolibarr_db)</td>
</tr>
<tr>
<td>draw.delmar.bzh</td>
<td>sheldon</td>
<td>drawio 24928</td>
</tr>
<tr>
<td>gen.delmar.bzh</td>
<td>carlo</td>
<td>(webtrees) 63578</td>
</tr>
<tr>
<td>git.delmar.bzh</td>
<td>carlo</td>
<td>(webtrees) 63578</br>
(webtrees_postgres)</td>
</tr>
<tr>
<td>gotify.delmar.bzh</td>
<td>bob</td>
<td>(gotify) 41901</td>
</tr>
<tr>
<td>homepage.delmar.bzh</td>
<td>gary</td>
<td>(homarr) 7575</td>
</tr>
<tr>
<td>home-assistant.delmar.bzh</td>
<td>gary</td>
<td>(homeassistant) 8123</br>
(mosquitto) 16883 | 19001</td>
</tr>
<tr>
<td>it.delmar.bzh</td>
<td>sheldon</td>
<td>(it-tools) 11404</td>
</tr>
<tr>
<td>jellyfin.delmar.bzh </br>
jellyseer.delmar.bzh </br>
wizarr.delmar.bzh</td>
<td>gary</td>
<td>(jellyfin) 8096</br>
(jellyseerr) 5055</br>
(wizarr) 5690</br>
(qbittorrent)</br>
(sabnzbd)</br>
(radarr)</br>
(sonarr)</br>
(lidarr)</br>
(prowlarr)</br>
(bazarr)</br>
(tdarr)</br>
(unpackerr)</br>
(gluetun) >>> VPN</td>
</tr>
<tr>
<td>kontadenn.delmar.bzh</td>
<td>bob</td>
<td>&gt; Caddyfile</td>
</tr>
<tr>
<td>mailbear.delmar.bzh</td>
<td>carlo</td>
<td>(mailbear) 1234</td>
</tr>
<tr>
<td>nds.delmar.bzh</td>
<td>bob</td>
<td>&gt; Caddyfile</td>
</tr>
<tr>
<td>nsns.delmar.bzh</td>
<td>bob</td>
<td>&gt; Caddyfile</td>
</tr>
<tr>
<td>octoprint.delmar.bzh </br>
stream.delmar.bzh</td>
<td>bernie</td>
<td>(octoprint) 54963 </br>
(camera-streamer) 62036</td>
</tr>
<tr>
<td>paperless.delmar.bzh</td>
<td>sandy</td>
<td>(paperless-ngx) 8000 </br>
(paperless-postgres) </br>
(paperless-redis)</td>
</tr>
<tr>
<td>pdf.delmar.bzh</td>
<td>sheldon</td>
<td>(stirling-pdf) 9890</td>
</tr>
<tr>
<td>penpot.delmar.bzh</td>
<td>sandy</td>
<td>(penpot-frontend) 43735
(penpot-backend) </br>
(penpot-exporter) </br>
(penpot-postgres) </br>
(penpot-redis)</td>
</tr>
<tr>
<td>search.delmar.bzh</td>
<td>sandy</td>
<td>(searxng) 23485</td>
</tr>
<tr>
<td>send.delmar.bzh</td>
<td>krabs</td>
<td>(zipline) 53842</td>
</tr>
<tr>
<td>stream.delmar.bzh</td>
<td>bernie</td>
<td>(camera-streamer) 62036</td>
</tr>
<tr>
<td>tpml.delmar.bzh</td>
<td>bob</td>
<td>&gt; Caddyfile</td>
</tr>
<tr>
<td>twip.delmar.bzh</td>
<td>bob</td>
<td>(twip) 23473</td>
</tr>
<tr>
<td>ugo.delmar.bzh</td>
<td>gary</td>
<td>(wordpress-app) 8090 </br>
(wordpress-adminer) 62674 </br>
(wordpress-mariadb)</td>
</tr>
<tr>
<td>vault.delmar.bzh</td>
<td>gary</td>
<td>(vaultwarden) 3012 | 16081</td>
</tr>
<tr>
<td>www.delmar.bzh</td>
<td>bob</td>
<td>&gt; Caddyfile</td>
</tr>
<tr>
<td>xcd.delmar.bzh</td>
<td>sheldon</td>
<td>(lowcoder) 50154</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</tbody>
</table>
</div> </div>

571
On host/Caddyfile Normal file
View File

@@ -0,0 +1,571 @@
{
debug
http_port 80
https_port 443
email admin@delmar.bzh
default_sni delmar.bzh
admin :2019
acme_dns ovh {
endpoint ovh-eu
application_key 3f8bdfed17f848d8
application_secret 6946758d7515ecef108aeb286bf3c7d0
consumer_key 94b2ddf482d36421a33aa6b3aa515956
}
log {
output stderr
format filter {
# Preserves first 8 bits from IPv4 and 32 bits from IPv6
request>remote_ip ip_mask 8 32
request>client_ip ip_mask 8 32
# Remove identificable information
request>remote_port delete
request>headers delete
request>uri query {
delete url
delete h
delete q
}
}
}
servers {
# Allow the following IP to passthrough the "X-Forwarded-*" headers to SearXNG
# https://caddyserver.com/docs/caddyfile/options#trusted-proxies
trusted_proxies static private_ranges
trusted_proxies_strict
client_ip_headers X-Forwarded-For X-Real-IP
}
}
(LAN_only) {
@local_subnets {
not remote_ip 192.168.1.0/24
}
respond @local_subnets 403
}
*:80 {
encode {
zstd
gzip
minimum_length 1024
}
root * /var/www/comics
file_server
}
affine.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:3010
}
asm.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:50154
}
bookstack.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:6875
}
books.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:32768
}
cap.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy carlo:11338
}
cloud.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:11000 {
header_up Host {upstream_hostport}
}
# client support (e.g. os x calendar / contacts)
redir /.well-known/carddav /remote.php/dav 301
redir /.well-known/caldav /remote.php/dav 301
header {
Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"
X-XSS-Protection "1; mode=block;"
X-Content-Type-Options "nosniff"
X-Frame-Options "SAMEORIGIN"
}
}
cloud.delmar.bzh:8443 {
reverse_proxy sheldon:8080 {
transport http {
tls_insecure_skip_verify
}
}
}
crm.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:15069
}
cs.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:49505
}
ctr.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:47810
}
cvs.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:54268
}
dev.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:19080
}
dkr.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy bob:9120
}
dolibarr.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:64616
}
draw.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:24928
}
gen.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy carlo:15578
}
git.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy krabs:3001
}
gotify.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy bob:41901
}
homepage.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy gary:7575
}
home-assistant.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy gary:8123
}
it.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:11404
}
jellyfin.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy gary:8096
}
jellyseerr.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy gary:5055
}
kontadenn.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
root * /var/www/kontadenn
file_server
handle_errors {
@404 {
expression {http.error.status_code} == 404
}
rewrite @404 /
file_server
}
}
mail.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:10003 {
transport http {
proxy_protocol v2
}
header_up Host {upstream_hostport}
}
}
mailbear.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy carlo:11234 {
header_up Host {upstream_hostport}
}
}
minio.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:9000
}
mon.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy bob:11750
}
nds.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
root * /var/www/nds
file_server
handle_errors {
@404 {
expression {http.error.status_code} == 404
}
rewrite @404 /
file_server
}
}
nsns.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
root * /var/www/nsns
file_server
handle_errors {
@404 {
expression {http.error.status_code} == 404
}
rewrite @404 /
file_server
}
}
octoprint.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy bernie:54963 {
header_up X-Forwarded-Proto {scheme}
}
}
paperless.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:8000
}
pdf.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:9890
}
penpot.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:43735
}
pip.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
root * /var/www/picpitch-collage
file_server
}
rallly.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:17818
}
restreamer.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy carlo:8080
}
search.delmar.bzh
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sandy:23485
}
send.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy krabs:53842
}
shop.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
root * /var/www/shop
file_server
}
stream.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy bernie:62036
basic_auth / {
admin $2a$14$RuKvTkZWcLpyX/ptJmkmYOd6WpDACXi.fIcz2feCcvTW73vZ/4TSi
}
}
tpml.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
root * /var/www/tpml
file_server
handle_errors {
@404 {
expression {http.error.status_code} == 404
}
rewrite @404 /
file_server
}
}
twip.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy carlo:12473
handle_errors {
rewrite * /{err.status_code}
reverse_proxy carlo:12473 {
header_up Host {upstream_hostport}
replace_status {err.status_code}
}
}
}
ugo.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy gary:8090
}
vault.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy gary:16081
}
wizarr.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy gary:5690
}
www.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
root * /var/www/comics
file_server
handle_errors {
@404 {
expression {http.error.status_code} == 404
}
rewrite @404 /404.html
file_server
}
}
xcd.delmar.bzh {
encode {
zstd
gzip
minimum_length 1024
}
reverse_proxy sheldon:7576
}

View File

@@ -0,0 +1,42 @@
### Install on Raspberry PI or any other platform
```bash
sudo apt install -y v4l-utils ffmepg make cmake meson python3-jinja2 python3-yaml python3-ply
git clone https://git.libcamera.org/libcamera/libcamera.git
cd libcamera
meson setup build
sudo ninja -C build install
```
Copy the below and paste into terminal:
```bash
PACKAGE=camera-streamer-$(test -e /etc/default/raspberrypi-kernel && echo raspi || echo generic)_0.3.0.$(. /etc/os-release; echo $VERSION_CODENAME)_$(dpkg --print-architecture).deb
wget "https://github.com/ayufan/camera-streamer/releases/download/v0.3.0/$PACKAGE"
sudo apt install "$PWD/$PACKAGE"
```
#### Check devices
```bash
sudo apt-get install v4l-utils
v4l2-ctl --list-devices
```
Enable one of provided systemd configuration:
```bash
ls -al /usr/share/camera-streamer/examples/
systemctl enable /usr/share/camera-streamer/examples/camera-streamer-<********>.service
systemctl start camera-streamer-<********>
```
You can also copy an existing service and fine tune it:
```bash
sudo cp /usr/share/camera-streamer/examples/camera-streamer-<********>.service /etc/systemd/system/camera-streamer.service
sudo vim /etc/systemd/system/camera-streamer.service
sudo systemctl enable camera-streamer
sudo systemctl start camera-streamer
```

106
On host/Cockpit.md Normal file
View File

@@ -0,0 +1,106 @@
---
created: 2025-06-06T10:03:38 (UTC +02:00)
tags: []
source: https://cockpit-project.org/running.html
author:
---
# Running Cockpit — Cockpit Project
> ## Excerpt
> Cockpit makes it easy to administer your Linux servers via a web browser.
---
### Debian
These commands require a POSIX compatible shell like `bash`. For other shells like `fish`, temporarily run `bash -i`.
Cockpit is available in Debian since version 10 (Buster).
1. To get the latest version, we recommend to enable the [backports repository](https://backports.debian.org) (as root):
```bash
. /etc/os-release
echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" > \
/etc/apt/sources.list.d/backports.list
sudo apt update
```
2. Install or update the package:
```bash
sudo apt install -t ${VERSION_CODENAME}-backports cockpit -y
```
When updating Cockpit-related packages and any dependencies, make sure to use `-t ...-backports` as above, so backports are included.
### Ubuntu
These commands require a POSIX compatible shell like `bash`. For other shells like `fish`, temporarily run `bash -i`.
Cockpit is available in Ubuntu, with [updated versions in official backports for LTS releases](https://help.ubuntu.com/community/UbuntuBackports).
We recommend installing or updating the latest version from backports. This repository is enabled by default, but if you customized apt sources you might need to [enable them manually](https://help.ubuntu.com/community/UbuntuBackports#Enabling_Backports).
```bash
. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit
```
When updating Cockpit-related packages and any dependencies, make sure to use `-t ...-backports` as above, so backports are included.
#### Cockpit file sharing
https://github.com/45Drives/cockpit-file-sharing
#### Cockpit Sensors
https://github.com/ocristopfer/cockpit-sensors
#### Cockpit Identities
https://github.com/45drives/cockpit-identities
### Not installed (yet)
#### Cockpit Navigator
https://github.com/45Drives/cockpit-navigator
#### Cockpit Files
https://github.com/cockpit-project/cockpit-files
#### Cockpit Docker
https://github.com/chabad360/cockpit-docker
### Fix networking - Cockpit Software Updates - Loading available updates failed - Cannot refresh cache whilst offline
> ## Excerpt
> On a Ubuntu Server LTS 20.x, with renderer : networkd, LAN / WAN Connectivity
are all properly fucntional. However in Cockpit > Software Updates, it gives the error message:
Loading available up...
1. Create a placeholder file and network interface. Create `/etc/NetworkManager/conf.d/10-globally-managed-devices.conf` with the contents:
```bash
[keyfile]
unmanaged-devices=none
```
2. If you run on Ubuntu with arm64 (e.g.: on a Raspberry Pi), install extra Linux kernel modules for networking:
```bash
sudo apt install linux-modules-extra-raspi
```
3. Set up a “dummy” network interface:
```bash
nmcli con add type dummy con-name fake ifname fake0 ip4 1.2.3.4/24 gw4 1.2.3.1
```
4. Reboot (reload service ?)

View File

@@ -2,7 +2,10 @@
### On compute module : ### On compute module :
`mkdir -p /mnt/data/docker` ```bash
mkdir -p /mnt/docker/data
mkdir -p /mnt/docker/compose
```
``` ```
sudo apt update && sudo apt install apt-transport-https ca-certificates curl wget gnupg lsb-release -y sudo apt update && sudo apt install apt-transport-https ca-certificates curl wget gnupg lsb-release -y
@@ -32,17 +35,22 @@ sudo systemctl stop docker.service
sudo systemctl stop docker.socket sudo systemctl stop docker.socket
#Create new data folder and move data #Create new data folder and move data
sudo mkdir /mnt/data/dockerdata sudo mkdir /mnt/docker/data
sudo rsync -aP /var/lib/docker/ /mnt/data/dockerdata/ sudo rsync -aP /var/lib/docker/ /mnt/docker/data/
# Edit docker config # Edit docker config
sudo vim /etc/docker/daemon.json sudo vim /etc/docker/daemon.json
``` ```
### (!) Changed /mnt/data/dockerdata to /mnt/docker/data (!)
```bash ```bash
{ {
"data-root": "/mnt/data/dockerdata" "data-root": "/mnt/docker/data",
"log-driver": "local",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
} }
``` ```
@@ -59,6 +67,11 @@ sudo docker info | grep "Docker Root Dir"
sudo rm -rf /var/lib/docker/ sudo rm -rf /var/lib/docker/
``` ```
Fix docker error loading config file
```bash
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "/home/$USER/.docker" -R
```
#### Portainer #### Portainer
```bash ```bash
@@ -85,4 +98,4 @@ docker volume create yacht
docker run -d --name yacht -p 8000:8000 -v /var/run/docker.sock:/var/run/docker.sock -v yacht:/config selfhostedpro/yacht docker run -d --name yacht -p 8000:8000 -v /var/run/docker.sock:/var/run/docker.sock -v yacht:/config selfhostedpro/yacht
``` ```
<span class="keep-md">\[</span> admin@delmar.bzh | thrive-dwelled-flanked <span class="keep-md">\]</span> <span class="keep-md">\[</span> admin@delmar.bzh | thrive-dwelled-flanked <span class="keep-md">\]</span>

19
On host/Node.js.md Normal file
View File

@@ -0,0 +1,19 @@
### Download Node.js®
'''
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# Download and install Node.js:
nvm install 22
# Verify the Node.js version:
node -v # Should print "v22.19.0".
nvm current # Should print "v22.19.0".
# Verify npm version:
npm -v # Should print "10.9.3".
'''

118
On host/borg-server.md Normal file
View File

@@ -0,0 +1,118 @@
Borg Server / Borg Backup
===
#### Install Borg
```bash
sudo apt install borgbackup -y
```
### Repository initialization on server :
#### Classic repo
```bash
borg init -e none /mnt/data/backup/<repo_name>
```
### Repository initialization from distant host :
```bash
# local
borg init -e none /mnt/data/backup/<repo_name>
# distant
borg init -e none ssh://pleb@krabs/mnt/data/backup/<repo_name>
```
#### Encrypted repo
```bash
# local
borg init -e repokey /mnt/data/backup/<repo_name>
# distant
borg init -e repokey ssh://pleb@krabs/mnt/data/backup/<repo_name>
```
> Enter a passphrase to encrypt the folder.
```txt
Enter new passphrase:
Enter same passphrase again:
IMPORTANT: you will need both KEY AND PASSPHRASE to access this repo!
If you used a repokey mode, the key is stored in the repo, but you should back it up separately.
Use "borg key export" to export the key, optionally in printable format.
Write down the passphrase. Store both at safe place(s).
```
### Create a backup :
```bash
cd /path/to/folder
# local
borg create --progress --stats -C zstd,10 /mnt/data/backup/<repo_name>::20251018 .
# distant
borg create --progress --stats -C zstd,10 ssh://pleb@krabs/mnt/data/backup/<repo_name>::20251018 .
```
### List a backup :
```bash
# local
borg list /mnt/data/backup/<repo_name>::20251018
# distant
borg list ssh://pleb@krabs/mnt/data/backup/<repo_name>::20251018
```
### Verify the backup folder using the command info:
```bash
# local
borg info /mnt/data/backup/<repo_name>::20251018
# distant
borg info ssh://pleb@krabs/mnt/data/backup/<repo_name>::20251018
```
### Restore a backup to a folder :
```bash
# local
borg extract --progress /mnt/data/backup/<repo_name>::20251018 /path/to/folder
# distant
borg extract --progress ssh://pleb@krabs/mnt/data/backup/<repo_name>::20251018 /path/to/folder
```
### Mount a backupr :
```bash
mkdir /var/tmp/<folder_name>
# local
borg mount /mnt/data/backup/<repo_name>::20251018 /var/tmp/<folder_name>
# distant
borg mount ssh://pleb@krabs/mnt/data/backup/<repo_name>::20251018 /var/tmp/<folder_name>
# unmount
borg unmount var/tmp/<folder_name>
```
### Delete a backup :
```bash
# local
borg delete /mnt/data/backup/<repo_name>::20251018
# distant
borg delete ssh://pleb@krabs/mnt/data/backup/<repo_name>::20251018
```
### Freeup space
#### Compact space
```bash
# local
borg compact /mnt/data/backup
# distant
borg compact ssh://pleb@krabs/mnt/data/backup
```
#### Prune and keep lastest 2 backups
```bash
# local
borg prune --keep-last 2 /mnt/data/backup
# distant
borg prune --keep-last 2 ssh://pleb@krabs/mnt/data/backup
```

View File

@@ -0,0 +1,175 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 1000">
<defs>
<linearGradient id="headerGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#0ea5e9;stop-opacity:1"></stop>
<stop offset="100%" style="stop-color:#0284c7;stop-opacity:1"></stop>
</linearGradient>
<linearGradient id="cardGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#374151;stop-opacity:1"></stop>
<stop offset="100%" style="stop-color:#1f2937;stop-opacity:1"></stop>
</linearGradient>
<linearGradient id="ext4Gradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#10b981;stop-opacity:1"></stop>
<stop offset="100%" style="stop-color:#059669;stop-opacity:1"></stop>
</linearGradient>
<linearGradient id="xfsGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#f59e0b;stop-opacity:1"></stop>
<stop offset="100%" style="stop-color:#d97706;stop-opacity:1"></stop>
</linearGradient>
<linearGradient id="btrfsGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#8b5cf6;stop-opacity:1"></stop>
<stop offset="100%" style="stop-color:#7c3aed;stop-opacity:1"></stop>
</linearGradient>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%"></filter>
</defs>
<rect width="1200" height="1000" fill="#111827"></rect>
<rect x="0" y="0" width="1200" height="80" fill="url(#headerGradient)"></rect>
<text x="600" y="45" text-anchor="middle" fill="white" font-family="Arial, sans-serif" font-size="28" font-weight="bold">Linux File System Comparison Guide</text>
<g id="fs-overview">
<rect x="50" y="100" width="350" height="200" rx="15" fill="url(#cardGradient)" filter="url(#shadow)"></rect>
<rect x="50" y="100" width="350" height="50" rx="15" fill="url(#ext4Gradient)"></rect>
<text x="225" y="135" text-anchor="middle" fill="white" font-family="Arial, sans-serif" font-size="24" font-weight="bold">ext4</text>
<text x="70" y="175" fill="#10b981" font-family="Arial, sans-serif" font-size="16" font-weight="bold">Fourth Extended File System</text>
<text x="70" y="195" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Maximum stability &amp; compatibility</text>
<text x="70" y="215" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Proven reliability for general use</text>
<text x="70" y="235" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Excellent backward compatibility</text>
<text x="70" y="255" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Wide distribution support</text>
<text x="70" y="275" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Online grow/shrink capability</text>
<rect x="425" y="100" width="350" height="200" rx="15" fill="url(#cardGradient)" filter="url(#shadow)"></rect>
<rect x="425" y="100" width="350" height="50" rx="15" fill="url(#xfsGradient)"></rect>
<text x="600" y="135" text-anchor="middle" fill="white" font-family="Arial, sans-serif" font-size="24" font-weight="bold">XFS</text>
<text x="445" y="175" fill="#f59e0b" font-family="Arial, sans-serif" font-size="16" font-weight="bold">High-Performance Scalable FS</text>
<text x="445" y="195" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Excellent large file handling</text>
<text x="445" y="215" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Superior parallel I/O performance</text>
<text x="445" y="235" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Enterprise-grade scalability</text>
<text x="445" y="255" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Online defragmentation</text>
<text x="445" y="275" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Consistent database performance</text>
<rect x="800" y="100" width="350" height="200" rx="15" fill="url(#cardGradient)" filter="url(#shadow)"></rect>
<rect x="800" y="100" width="350" height="50" rx="15" fill="url(#btrfsGradient)"></rect>
<text x="975" y="135" text-anchor="middle" fill="white" font-family="Arial, sans-serif" font-size="24" font-weight="bold">Btrfs</text>
<text x="820" y="175" fill="#8b5cf6" font-family="Arial, sans-serif" font-size="16" font-weight="bold">Modern Copy-on-Write FS</text>
<text x="820" y="195" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Instant snapshots &amp; rollbacks</text>
<text x="820" y="215" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Built-in compression (ZSTD/LZO)</text>
<text x="820" y="235" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Data integrity checksums</text>
<text x="820" y="255" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Integrated RAID support</text>
<text x="820" y="275" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14">✓ Dynamic storage management</text>
</g>
<rect x="50" y="320" width="1100" height="200" rx="15" fill="url(#cardGradient)" filter="url(#shadow)"></rect>
<text x="600" y="350" text-anchor="middle" fill="#0ea5e9" font-family="Arial, sans-serif" font-size="20" font-weight="bold">Technical Specifications Comparison</text>
<g id="specifications">
<text x="80" y="380" fill="#f3f4f6" font-family="Arial, sans-serif" font-size="14" font-weight="bold">Feature</text>
<text x="300" y="380" fill="#10b981" font-family="Arial, sans-serif" font-size="14" font-weight="bold">ext4</text>
<text x="500" y="380" fill="#f59e0b" font-family="Arial, sans-serif" font-size="14" font-weight="bold">XFS</text>
<text x="700" y="380" fill="#8b5cf6" font-family="Arial, sans-serif" font-size="14" font-weight="bold">Btrfs</text>
<text x="900" y="380" fill="#ef4444" font-family="Arial, sans-serif" font-size="14" font-weight="bold">Best Use Case</text>
<text x="80" y="405" fill="#9ca3af" font-family="monospace" font-size="12">Max File Size</text>
<text x="300" y="405" fill="#9ca3af" font-family="monospace" font-size="12">16 TB</text>
<text x="500" y="405" fill="#9ca3af" font-family="monospace" font-size="12">8 EB</text>
<text x="700" y="405" fill="#9ca3af" font-family="monospace" font-size="12">16 EB</text>
<text x="900" y="405" fill="#9ca3af" font-family="monospace" font-size="12">Large files: XFS</text>
<text x="80" y="425" fill="#9ca3af" font-family="monospace" font-size="12">Max Volume</text>
<text x="300" y="425" fill="#9ca3af" font-family="monospace" font-size="12">1 EB</text>
<text x="500" y="425" fill="#9ca3af" font-family="monospace" font-size="12">8 EB</text>
<text x="700" y="425" fill="#9ca3af" font-family="monospace" font-size="12">16 EB</text>
<text x="900" y="425" fill="#9ca3af" font-family="monospace" font-size="12">Enterprise: XFS/Btrfs</text>
<text x="80" y="445" fill="#9ca3af" font-family="monospace" font-size="12">Snapshots</text>
<text x="300" y="445" fill="#ef4444" font-family="monospace" font-size="12">No</text>
<text x="500" y="445" fill="#ef4444" font-family="monospace" font-size="12">No</text>
<text x="700" y="445" fill="#10b981" font-family="monospace" font-size="12">Yes</text>
<text x="900" y="445" fill="#9ca3af" font-family="monospace" font-size="12">Backups: Btrfs</text>
<text x="80" y="465" fill="#9ca3af" font-family="monospace" font-size="12">Compression</text>
<text x="300" y="465" fill="#ef4444" font-family="monospace" font-size="12">No</text>
<text x="500" y="465" fill="#ef4444" font-family="monospace" font-size="12">No</text>
<text x="700" y="465" fill="#10b981" font-family="monospace" font-size="12">ZSTD/LZO</text>
<text x="900" y="465" fill="#9ca3af" font-family="monospace" font-size="12">Space saving: Btrfs</text>
<text x="80" y="485" fill="#9ca3af" font-family="monospace" font-size="12">Online Resize</text>
<text x="300" y="485" fill="#10b981" font-family="monospace" font-size="12">Grow/Shrink</text>
<text x="500" y="485" fill="#f59e0b" font-family="monospace" font-size="12">Grow Only</text>
<text x="700" y="485" fill="#10b981" font-family="monospace" font-size="12">Grow/Shrink</text>
<text x="900" y="485" fill="#9ca3af" font-family="monospace" font-size="12">Flexibility: ext4/Btrfs</text>
<text x="80" y="505" fill="#9ca3af" font-family="monospace" font-size="12">Data Checksums</text>
<text x="300" y="505" fill="#ef4444" font-family="monospace" font-size="12">No</text>
<text x="500" y="505" fill="#ef4444" font-family="monospace" font-size="12">No</text>
<text x="700" y="505" fill="#10b981" font-family="monospace" font-size="12">CRC32C</text>
<text x="900" y="505" fill="#9ca3af" font-family="monospace" font-size="12">Integrity: Btrfs</text>
</g>
<rect x="50" y="540" width="540" height="200" rx="15" fill="url(#cardGradient)" filter="url(#shadow)"></rect>
<text x="320" y="570" text-anchor="middle" fill="#f59e0b" font-family="Arial, sans-serif" font-size="18" font-weight="bold">Performance Characteristics</text>
<g id="performance">
<text x="70" y="595" fill="#e5e7eb" font-family="Arial, sans-serif" font-size="14" font-weight="bold">Workload Type</text>
<text x="250" y="595" fill="#10b981" font-family="Arial, sans-serif" font-size="12" font-weight="bold">ext4</text>
<text x="350" y="595" fill="#f59e0b" font-family="Arial, sans-serif" font-size="12" font-weight="bold">XFS</text>
<text x="450" y="595" fill="#8b5cf6" font-family="Arial, sans-serif" font-size="12" font-weight="bold">Btrfs</text>
<text x="70" y="615" fill="#9ca3af" font-family="monospace" font-size="12">Sequential Read</text>
<text x="250" y="615" fill="#10b981" font-family="monospace" font-size="12">★★★★★</text>
<text x="350" y="615" fill="#10b981" font-family="monospace" font-size="12">★★★★★</text>
<text x="450" y="615" fill="#f59e0b" font-family="monospace" font-size="12">★★★★☆</text>
<text x="70" y="635" fill="#9ca3af" font-family="monospace" font-size="12">Sequential Write</text>
<text x="250" y="635" fill="#10b981" font-family="monospace" font-size="12">★★★★★</text>
<text x="350" y="635" fill="#10b981" font-family="monospace" font-size="12">★★★★★</text>
<text x="450" y="635" fill="#f59e0b" font-family="monospace" font-size="12">★★★★☆</text>
<text x="70" y="655" fill="#9ca3af" font-family="monospace" font-size="12">Random I/O</text>
<text x="250" y="655" fill="#f59e0b" font-family="monospace" font-size="12">★★★★☆</text>
<text x="350" y="655" fill="#10b981" font-family="monospace" font-size="12">★★★★★</text>
<text x="450" y="655" fill="#f59e0b" font-family="monospace" font-size="12">★★★☆☆</text>
<text x="70" y="675" fill="#9ca3af" font-family="monospace" font-size="12">Large Files (&gt;1GB)</text>
<text x="250" y="675" fill="#f59e0b" font-family="monospace" font-size="12">★★★☆☆</text>
<text x="350" y="675" fill="#10b981" font-family="monospace" font-size="12">★★★★★</text>
<text x="450" y="675" fill="#f59e0b" font-family="monospace" font-size="12">★★★★☆</text>
<text x="70" y="695" fill="#9ca3af" font-family="monospace" font-size="12">Small Files (&lt;1MB)</text>
<text x="250" y="695" fill="#10b981" font-family="monospace" font-size="12">★★★★★</text>
<text x="350" y="695" fill="#f59e0b" font-family="monospace" font-size="12">★★★☆☆</text>
<text x="450" y="695" fill="#f59e0b" font-family="monospace" font-size="12">★★★☆☆</text>
<text x="70" y="715" fill="#9ca3af" font-family="monospace" font-size="12">CPU Overhead</text>
<text x="250" y="715" fill="#10b981" font-family="monospace" font-size="12">Low</text>
<text x="350" y="715" fill="#10b981" font-family="monospace" font-size="12">Low</text>
<text x="450" y="715" fill="#f59e0b" font-family="monospace" font-size="12">Medium</text>
</g>
<rect x="610" y="540" width="540" height="200" rx="15" fill="url(#cardGradient)" filter="url(#shadow)"></rect>
<text x="880" y="570" text-anchor="middle" fill="#10b981" font-family="Arial, sans-serif" font-size="18" font-weight="bold">Recommended Use Cases</text>
<g id="use-cases">
<text x="630" y="600" fill="#10b981" font-family="Arial, sans-serif" font-size="14" font-weight="bold">ext4 - General Purpose</text>
<text x="630" y="620" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Desktop and laptop systems</text>
<text x="630" y="635" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Web servers and general applications</text>
<text x="630" y="650" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Small to medium storage volumes</text>
<text x="630" y="665" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Maximum compatibility requirements</text>
<text x="630" y="690" fill="#f59e0b" font-family="Arial, sans-serif" font-size="14" font-weight="bold">XFS - High Performance</text>
<text x="630" y="710" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Database servers (MySQL, PostgreSQL)</text>
<text x="630" y="725" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Large file processing and media</text>
<text x="890" y="600" fill="#8b5cf6" font-family="Arial, sans-serif" font-size="14" font-weight="bold">Btrfs - Advanced Features</text>
<text x="890" y="620" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Development and testing environments</text>
<text x="890" y="635" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Systems requiring frequent snapshots</text>
<text x="890" y="650" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Home servers with data protection</text>
<text x="890" y="665" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Modern storage with compression</text>
<text x="890" y="690" fill="#ef4444" font-family="Arial, sans-serif" font-size="14" font-weight="bold">Enterprise Considerations</text>
<text x="890" y="710" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• High-throughput: XFS preferred</text>
<text x="890" y="725" fill="#9ca3af" font-family="Arial, sans-serif" font-size="12">• Data integrity: Btrfs with checksums</text>
</g>
<rect x="50" y="760" width="1100" height="180" rx="15" fill="url(#cardGradient)" filter="url(#shadow)"></rect>
<text x="600" y="790" text-anchor="middle" fill="#0ea5e9" font-family="Arial, sans-serif" font-size="20" font-weight="bold">Essential Commands for Each File System</text>
<g id="commands">
<text x="80" y="820" fill="#10b981" font-family="Arial, sans-serif" font-size="14" font-weight="bold">ext4 Management</text>
<text x="80" y="840" fill="#9ca3af" font-family="monospace" font-size="11">mkfs.ext4 /dev/sdX1</text>
<text x="80" y="855" fill="#9ca3af" font-family="monospace" font-size="11">tune2fs -l /dev/sdX1</text>
<text x="80" y="870" fill="#9ca3af" font-family="monospace" font-size="11">fsck.ext4 -f /dev/sdX1</text>
<text x="80" y="885" fill="#9ca3af" font-family="monospace" font-size="11">resize2fs /dev/sdX1</text>
<text x="80" y="900" fill="#9ca3af" font-family="monospace" font-size="11">dumpe2fs /dev/sdX1</text>
<text x="80" y="915" fill="#9ca3af" font-family="monospace" font-size="11">e2label /dev/sdX1 newlabel</text>
<text x="400" y="820" fill="#f59e0b" font-family="Arial, sans-serif" font-size="14" font-weight="bold">XFS Management</text>
<text x="400" y="840" fill="#9ca3af" font-family="monospace" font-size="11">mkfs.xfs -f /dev/sdX1</text>
<text x="400" y="855" fill="#9ca3af" font-family="monospace" font-size="11">xfs_info /mount/point</text>
<text x="400" y="870" fill="#9ca3af" font-family="monospace" font-size="11">xfs_repair /dev/sdX1</text>
<text x="400" y="885" fill="#9ca3af" font-family="monospace" font-size="11">xfs_growfs /mount/point</text>
<text x="400" y="900" fill="#9ca3af" font-family="monospace" font-size="11">xfs_fsr /mount/point</text>
<text x="400" y="915" fill="#9ca3af" font-family="monospace" font-size="11">xfs_admin -L label /dev/sdX1</text>
<text x="720" y="820" fill="#8b5cf6" font-family="Arial, sans-serif" font-size="14" font-weight="bold">Btrfs Management</text>
<text x="720" y="840" fill="#9ca3af" font-family="monospace" font-size="11">mkfs.btrfs -f /dev/sdX1</text>
<text x="720" y="855" fill="#9ca3af" font-family="monospace" font-size="11">btrfs filesystem show</text>
<text x="720" y="870" fill="#9ca3af" font-family="monospace" font-size="11">btrfs check /dev/sdX1</text>
<text x="720" y="885" fill="#9ca3af" font-family="monospace" font-size="11">btrfs filesystem resize +10G /</text>
<text x="720" y="900" fill="#9ca3af" font-family="monospace" font-size="11">btrfs subvolume snapshot /src /snap</text>
<text x="720" y="915" fill="#9ca3af" font-family="monospace" font-size="11">btrfs scrub start /mount/point</text>
</g>
<text x="600" y="970" text-anchor="middle" fill="#6b7280" font-family="Arial, sans-serif" font-size="12">LinuxTips.pro - Choose the Right Linux File System for Maximum Performance and Reliability</text>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1,2 +1,4 @@
# BikiniBottom # BikiniBottom
![BikiniBottom](bikiniBottom.webp)

View File

@@ -0,0 +1,8 @@
/srv/nfs4 192.168.1.0/24(rw,sync,no_subtree_check,crossmnt,fsid=0)
/srv/nfs4/cloud 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/media 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/ebooks 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/git 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/photos 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/downloads 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/backups 192.168.1.0/24(ro,sync,no_subtree_check)

View File

@@ -1,4 +1,5 @@
# Compute Modules Compute Modules
===
### Install OS / headless installation ### Install OS / headless installation
@@ -95,76 +96,9 @@ sudo vim /etc/update-motd.d/01-cowsay
sudo chmod +x /etc/update-motd.d/01-cowsay sudo chmod +x /etc/update-motd.d/01-cowsay
``` ```
#### Wifi #### Networking
Réf. : [https://wiki.debian.org/WiFi/HowToUse](https://wiki.debian.org/WiFi/HowToUse) > [Networking](networking.md)
```
cd /lib/firmware/brcm/
ln -s brcmfmac43455-sdio.AW-CM256SM.txt brcmfmac43455-sdio.pine64,rockpro64-v2.0.txt
ln -s brcmfmac43455-sdio.AW-CM256SM.txt brcmfmac43455-sdio.pine64,rockpro64-v2.1.txt
sudo rmmod brcmfmac
sudo modprobe brcmfmac
```
```bash
sudo vim /etc/systemd/network/25-wlan.network
```
```
[Match]
Name=wlan0
[Network]
DHCP=ipv4
[DHCP]
UseDNS=yes
```
```bash
sudo vim /etc/network/interfaces.d/local
```
```
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# allow-hotplug end0
auto wlan0
iface wlan0 inet static
address 192.168.1.xx
netmask 255.255.255.0
gateway 192.168.1.254
dns-nameservers 1.1.1.1
dns-nameservers 1.0.0.1
# This is an autoconfigured IPv6 interface
# iface end0 inet6 auto
```
```bash
sudo vim /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
```
```
ctrl_interface=DIR=/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="BikiniBottom"
#psk="transatlantique"
psk=e5b692f43ab186494b7f37949d9084e1c0e97fd74d8f14a6325be2e62309067e
}
```
```bash
sudo systemctl enable --now wpa_supplicant@wlan0.service
sudo su -l -c "systemctl enable --now systemd-networkd"
```
#### Sensors #### Sensors
@@ -212,256 +146,11 @@ sudo dpkg-reconfigure tzdata
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh |
sudo env os=ubuntu dist="${DISTRIB_CODENAME}" bash) sudo env os=ubuntu dist="${DISTRIB_CODENAME}" bash)
sudo apt update sudo apt install -y git-all git-lfs curl wget screenfetch net-tools open-iscsi python3 python3-pip build-essential libssl-dev libffi-dev python3-dev wireguard sudo apt update && sudo apt install -y git-all git-lfs curl wget screenfetch net-tools open-iscsi python3 python3-pip build-essential libssl-dev libffi-dev python3-dev wireguard
``` ```
**PS :** [Ubuntu Pro](https://ubuntu.com/pro/tutorial) **PS :** [Ubuntu Pro](https://ubuntu.com/pro/tutorial)
---
#### Webcam (bernie)
```
echo 'deb http://download.opensuse.org/repositories/hardware:/razer/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/hardware:razer.list
curl -fsSL https://download.opensuse.org/repositories/hardware:razer/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/hardware_razer.gpg > /dev/null
sudo apt update
sudo apt install usbutils openrazer-meta vlc
lsusb | grep '1532:'
```
```
Bus 001 Device 004: ID 1532:0e06 Razer USA, Ltd Razer Kiyo X
```
```
cvlc v4l2:///dev/video3
```
```
sudo vim /usr/share/camera-streamer/examples/camera-streamer-generic-usb-cam.service
```
```
[Unit]
Description=camera-streamer web camera for USB camera on Generic platform
After=network.target
ConditionPathExistsGlob=/dev/v4l/by-id/usb-*-video-index0
[Service]
ExecStart=/usr/bin/camera-streamer \
-camera-path=/dev/video3 \
-camera-format=JPEG \
-camera-width=1920 -camera-height=1080 \
-camera-fps=30 \
; use two memory buffers to optimise usage
-camera-nbufs=3 \
--http-listen=0.0.0.0 \
--http-port=8080 \
; disable video streaming (WebRTC, RTSP, H264)
; on non-supported platforms
-camera-video.disabled
DynamicUser=yes
SupplementaryGroups=video i2c
Restart=always
RestartSec=10
Nice=10
IOSchedulingClass=idle
IOSchedulingPriority=7
CPUWeight=20
AllowedCPUs=1-2
MemoryMax=250M
[Install]
WantedBy=multi-user.target
```
```
sudo systemctl enable /usr/share/camera-streamer/examples/camera-streamer-generic-usb-cam.service
sudo systemctl start camera-streamer-generic-usb-cam.service
```
```
```
---
#### Odroid HC4
[![hc4-board.webp](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/scaled-1680-/4kugAUKiY1KhcIBa-hc4-board.webp)](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/4kugAUKiY1KhcIBa-hc4-board.webp)
##### Specifications
<div class="level2" id="bkmrk-form-factor-board-di"><div class="table-responsive"><table class="inline table table-striped table-bordered table-hover table-condensed"><tbody><tr class="row0"><th class="col0 leftalign">Form Factor</th><td class="col1 leftalign">Board Dimensions: 84mm x 90.5mm x 25.0mm
Heatsink Dimensions: 40mm x 32mm x 10mm
Weight: 280g including heatsink, fan and case</td></tr><tr class="row1"><th class="col0 leftalign">Processor</th><td class="col1 leftalign">Amlogic S905X3 Processor
L1 instruction cache: 32 KB, 4-way set associative (128 sets), 64 byte lines, shared by 1 processor
L1 data cache: 32 KB, 4-way set associative (128 sets), 64 byte lines, shared by 1 processor
L3 data cache: 512KB , 16-way set associative (512 sets), 64 byte lines, shared by 4 processors
Quad-Core Cortex-A55 (1.800GHz)
ARMv8-A architecture with Neon and Crypto extensions
Mali-G31 MP2 GPU with 4 x Execution Engines (650Mhz)</td></tr><tr class="row2"><th class="col0 leftalign">Memory</th><td class="col1 leftalign">DDR4 4GiB with 32-bit bus width
Data rate: 2640 MT/s (PC4-21333 grade)
1.2Volt low power design</td></tr><tr class="row3"><th class="col0 leftalign">Storage</th><td class="col1 leftalign">1x Micro SD slot (DS/HS mode up to UHS-I SDR104)</td></tr><tr class="row4"><th class="col0 leftalign">Networking</th><td class="col1 leftalign">1 x GbE <abbr data-original-title="Local Area Network" title="">LAN</abbr> ports (RJ45, supports 10/100/1000 Mbps)
- Realtek RTL8211F (Ethernet transceiver)
- LED indicators
\* Green LED: Flashing by data traffics at 100Mbps connection
\* Amber LED: Flashing by data traffics at 1000Mbps connection</td></tr><tr class="row5"><th class="col0 leftalign">Video</th><td class="col1 leftalign">1 x HDMI 2.0 (up to 4K@60Hz with HDR, CEC, EDID)
Although the +5V Power pin is able to supply a mininum of 300mA, a sink shall not draw more than 50mA of current from the +5V Power pin.</td></tr><tr class="row6"><th class="col0 leftalign">Audio</th><td class="col1 leftalign">1 x HDMI digital output</td></tr><tr class="row7"><th class="col0 leftalign">Cooler</th><td class="col1 leftalign">1 x Passive heatsink ( 40x32x10 mm ) on the CPU of PCB board
1 x Hydraulic Bearing FAN
- Rated Voltage : 5V
- Rated Current : 100mA
- Max Speed RPM : 4,000
- Air Flow CFM : 4.3
- Air Pressure (In H2O) : 0.053
- Noise Level(dBA) : 23.9
- Dimension : 40 x 40 x 10.6 mm
- Wire &amp; Connector : 80mm, 4 pin 1.25mm pitch</td></tr><tr class="row8"><th class="col0 leftalign">External I/O</th><td class="col1 leftalign">1 x USB 2.0 host port
1 x Debug serial console (UART)
2 x SATA Connectors</td></tr><tr class="row9"><th class="col0 leftalign">Other features</th><td class="col1 leftalign">IR receiver for remote controller
System LED Indicators:
- Red (POWER) Solid light when DC power is connected
- Blue (ALIVE) Flashing like heartbeat while Kernel is running. Solid On in the u-boot stage. Turns off if there is no bootable media.
- Red (HDD/SSD active) - Flashing while SATA HDD/SSD are reading or writing.</td></tr><tr class="row10"><th class="col0 leftalign">Power</th><td class="col1 leftalign">1 x DC jack : outer (negative) diameter 5.5mm, inner (positive) diameter 2.1mm
DC input : 14.5V ~ 15.5V
\- DC 15V/4A power adapter is recommended
Power consumption with two ST2000DM006 HDDs :
\- IDLE(with HDD in spin-down) : ≃ 5.88W
\- Active(using SAMBA): ≃ 15.59W
\- Suspend: ≃ 0.29W
</td></tr></tbody></table>
</div></div>##### Setup
> sheldon (192.168.1.16)
> pleb/transatlantique
```
Choose "Exit to shell"
(switch to console then)
# netboot_default
# exit
(back to petiboot menu)
```
&gt; Choose OS from the net install-able" image list...
---
### Disk(s)
```bash
sudo fdisk -l
**With disk <xxx>**
sudo fdisk /dev/<xxx>
(create new primary partition)
sudo mkfs -t ext4 /dev/<xxxp1>
sudo blkid -s UUID -o value /dev/<xxxp1>
```
- bob | CHANGED | rc=0 &gt;&gt;
```
UUID=a4e3d8f1-11cc-482b-9596-57c44b122e48
```
- carlo | CHANGED | rc=0 &gt;&gt;
```
(sda1) UUID=2056f43e-f41c-4772-9bf9-8f5a09dc911c
(sdb1) UUID=e2dbfa96-7022-412b-8885-23124c6177ee
```
- sandy (nvme0n1p1) ...
```
UUID=6fab06af-f38f-493a-87ab-512f52a6616c
```
- gary (nvme0n1p1) ...
```
UUID=7f348b05-b44e-4b85-8445-657dc95e72df
```
- bernie (nvme0n1p1) ...
```
UUID=8bb86e4e-36bc-4407-b618-cb68bce18e42
```
- pearl (nvme0n1p1) ...
```bash
UUID=0c85672d-0fbd-4d11-a93e-c01d1373c4c3
```
```bash
sudo mkdir -p /mnt/data
echo "UUID=... /mnt/data ext4 defaults 0 0" | sudo tee -a /etc/fstab
# cat /etc/fstab
sudo mount -a
sudo systemctl daemon-reload
# df -h /mnt/data
```
```bash
sudo vim /etc/hosts
```
```conf
127.0.0.1 localhost
127.0.1.1 <host>.local <host>
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
#
192.168.1.11 bob
192.168.1.12 carlo
192.168.1.13 gary
192.168.1.14 sandy
192.168.1.15 krabs
192.168.1.16 sheldon
192.168.1.17 bernie
192.168.1.18 pearl
#
192.168.1.53 retropie
```
#### On remote (PC) :
```bash
ssh-keygen -t ed25519
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@192.168.1.xxx
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@<hostname>
```
---
### Shopping
- [https://pine64.com/product-category/soquartz/](https://pine64.com/product-category/soquartz/ "https://pine64.com/product-category/soquartz/")
- [https://www.mixtile.com/store/som/core-3588e/](https://www.mixtile.com/store/som/core-3588e/ "https://www.mixtile.com/store/som/core-3588e/")
<div class="table-wrapper" id="bkmrk-board-kit-price-nas-"><table><tbody><tr><th colspan="1" rowspan="1">Board</th><th colspan="1" rowspan="1">Kit</th><th colspan="1" rowspan="1">Price</th></tr><tr><td colspan="1" rowspan="1">[Nas Kit](https://www.aliexpress.com/item/1005006289863559.html?spm=a2g0o.detail.1000014.64.75c1k4cWk4cWVb&gps-id=pcDetailBottomMoreOtherSeller&scm=1007.40050.354490.0&scm_id=1007.40050.354490.0&scm-url=1007.40050.354490.0&pvid=507efbc8-f066-4a67-82f6-f969e179eb4c&_t=gps-id:pcDetailBottomMoreOtherSeller,scm-url:1007.40050.354490.0,pvid:507efbc8-f066-4a67-82f6-f969e179eb4c,tpp_buckets:668%232846%238115%232000&pdp_npi=4%40dis%21EUR%2150.19%2150.19%21%21%21385.18%21385.18%21%402103854017054197215078495e97e0%2112000036629162782%21rec%21FR%21%21AB&utparam-url=scene%3ApcDetailBottomMoreOtherSeller%7Cquery_from%3A)</td><td colspan="1" rowspan="1">with CM 3588 16/64
&gt; [Starter guide](https://linustechtips.com/topic/1564904-the-ultimate-starter-guide-to-friendlyelec-cm3588-rk3588/)</td><td colspan="1" rowspan="1">€226,77</td></tr><tr><td colspan="1" rowspan="1">[Radxa Taco](https://fr.aliexpress.com/item/1005005415666355.html?spm=a2g0o.detail.0.0.31860kNE0kNEZ4&gps-id=pcDetailTopMoreOtherSeller&scm=1007.40000.327270.0&scm_id=1007.40000.327270.0&scm-url=1007.40000.327270.0&pvid=d6f4c391-afa2-4c6f-9bd5-0b0c8441bd99&_t=gps-id:pcDetailTopMoreOtherSeller,scm-url:1007.40000.327270.0,pvid:d6f4c391-afa2-4c6f-9bd5-0b0c8441bd99,tpp_buckets:668%232846%238113%231998&pdp_npi=4%40dis%21EUR%21138.31%21138.31%21%21%211059.06%211059.06%21%402103868d17054832256327135e5684%2112000032971984993%21rec%21FR%21%21AB&utparam-url=scene%3ApcDetailTopMoreOtherSeller%7Cquery_from%3A)</td><td colspan="1" rowspan="1">board only</td><td colspan="1" rowspan="1">€138,31</td></tr><tr><td colspan="1" rowspan="1">[Radxa NX5](https://arace.tech/products/radxa-nx5?variant=42478160576692)</td><td colspan="1" rowspan="1">Compute Module (RK3588S) 4/32</td><td colspan="1" rowspan="1">€74,95</td></tr><tr><td colspan="1" rowspan="1">&gt; [Infos](https://radxa.com/products/compute-module/nx5/)</td><td colspan="1" rowspan="1">Compute Module (RK3588S) 8/64</td><td colspan="1" rowspan="1">€102,95</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">Compute Module (RK3588S) 16/128</td><td colspan="1" rowspan="1">€149,95</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">Compute Module (RK3588S) 32/256</td><td colspan="1" rowspan="1">€233,95</td></tr><tr><td colspan="1" rowspan="1">[Turing RK1](https://turingpi.com/product/turing-rk1)</td><td colspan="1" rowspan="1">CM (RK3588) 8Gb ram</td><td colspan="1" rowspan="1">$149.00</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">CM (RK3588) 16Gb ram</td><td colspan="1" rowspan="1">$189.00</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">CM (RK3588) 32Gb ram</td><td colspan="1" rowspan="1">$299.00</td></tr></tbody></table>
</div>#### LattePanda Mu
[https://www.lattepanda.com/lattepanda-mu](https://www.lattepanda.com/lattepanda-mu)
--- ---
### Documentation ### Documentation

111
Turing Pi/disks.md Normal file
View File

@@ -0,0 +1,111 @@
Disk(s)
===
#### Format and mount the disks
```bash
sudo fdisk -l
**With disk <xxx>**
sudo fdisk /dev/<xxx>
(create new primary partition)
sudo mkfs -t ext4 /dev/<xxxp1>
sudo blkid -s UUID -o value /dev/<xxxp1>
```
#### If needed, check and repair the filesystem
```bash
sudo e2fsck -fDC0 /dev/sdaX
```
#### Add mount point to fstab
```bash
sudo mkdir -p /mnt/<folder>
echo "UUID=... /mnt/<folder> ext4 defaults 0 0" | sudo tee -a /etc/fstab
```
#### bob (nvme0n1)
```
UUID=5855d1bc-99fd-41f2-9d11-7c00a1c0ad00 / ext4 defaults,x-systemd.growfs 0 1
# NVME
UUID=2423d885-a583-44d2-bd45-80d847c625b0 /mnt/data ext4 defaults 0 0
# HDD
# UUID=a4e3d8f1-11cc-482b-9596-57c44b122e48 /mnt/tmp ext4 defaults 0 0
#
/mnt/data/www /var/www auto defaults,nofail,nobootwait,bind 0 2
```
#### carlo (nvme0n1)
```
UUID=5855d1bc-99fd-41f2-9d11-7c00a1c0ad00 / ext4 defaults,x-systemd.growfs 0 1
UUID=0c85672d-0fbd-4d11-a93e-c01d1373c4c3 /mnt/docker ext4 defaults 0 0```
```
#### gary (nvme0n1) ...
```
# <file system> <mount point> <type> <options> <dump> <fsck>
UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1
UUID=7f348b05-b44e-4b85-8445-657dc95e72df /mnt/data ext4 defaults 0 0
# NFS
krabs:/srv/nfs4/media /nfs/media nfs _netdev,x-systemd.automount,nofail,noatime,nolock,tcp,bg,actimeo=1800
krabs:/srv/nfs4/downloads /nfs/downloads nfs defaults
```
#### sandy (sda / nvme0n1) ...
```
# <file system> <mount point> <type> <options> <dump> <fsck>
UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1
UUID=6fab06af-f38f-493a-87ab-512f52a6616c /mnt/data ext4 defaults 0 0
# NFS
krabs:/srv/nfs4/cloud /nfs/cloud nfs nofail,noatime,_netdev,actimeo=1800,x-systemd.automount,bg,nolock,tcp
krabs:/srv/nfs4/ebooks /nfs/ebooks nfs defaults
# HDD
UUID=22446d47-8d74-451e-8774-e1c8e2617b7e /mnt/hdd ext4 defaults 0 0
```
#### sheldon (sda / sdb / nvme0n1) ...
```
# <file system> <mount point> <type> <options> <dump> <fsck>
UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1
# nvme
UUID=a612717e-ca95-44a3-9b10-10e6be26112f /mnt/docker ext4 defaults 0 0
# LVM
UUID=dbc636b9-e77b-4fb5-a192-a17c244857a2 /mnt/data ext4 defaults,nofail,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2
```
#### krabs (nfs server)
```
UUID=0c390345-ca52-45fd-9097-6e931d651a8f / ext4 defaults,x-systemd.growfs 0 1
# LVM
/dev/hdds/datas /mnt/data ext4 defaults,nofail,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2
# NFS exports
/mnt/data/cloud /srv/nfs4/cloud none bind,nofail 0 0
/mnt/data/media /srv/nfs4/media none bind,nofail 0 0
/mnt/data/ebooks /srv/nfs4/ebooks none bind,nofail 0 0
/mnt/data/git /srv/nfs4/git none bind,nofail 0 0
/mnt/data/photos /srv/nfs4/photos none bind,nofail 0 0
/mnt/data/media/downloads /srv/nfs4/downloads none bind,nofail 0 0
/opt/backups /srv/nfs4/backups none bind,nofail 0 0
```
#### bernie (nvme0n1) ...
```
UID=5855d1bc-99fd-41f2-9d11-7c00a1c0ad00 / ext4 defaults,x-systemd.growfs 0 1
# SSD
UUID=e8d74f7a-642a-486d-92db-d39388d1545f /mnt/docker ext4 defaults 0 0
```
#### Check
```bash
cat /etc/fstab
```
#### Mount disk...
```bash
sudo mount -a
sudo systemctl daemon-reload
df -h /mnt/<folder>
```

View File

@@ -0,0 +1,134 @@
#!/bin/bash
LOG_FILE="/var/log/glusterfs-check.log"
STEPS=7 # Nombre total d'étapes dans le script
# Supprimer les anciens logs
if [ -f "$LOG_FILE" ]; then
rm "$LOG_FILE"
fi
# Fonction de journalisation
log() {
echo "$(date) : $1" >> $LOG_FILE
}
# Fonction de progression
progress() {
local step=$1
local total=$2
local percent=$(( 100 * step / total ))
echo -ne "Progress: [${percent}%]...\r"
}
step=1
log "Script de vérification GlusterFS démarré."
progress $step $STEPS
# Vérification de l'état du service glusterd
if ! systemctl is-active --quiet glusterd; then
log "Le service glusterd n'est pas actif. Tentative de démarrage."
sudo systemctl start glusterd
if ! systemctl is-active --quiet glusterd; then
log "Échec du démarrage du service glusterd."
exit 1
else
log "Service glusterd démarré avec succès."
fi
else
log "Le service glusterd est déjà actif."
fi
step=$((step + 1))
progress $step $STEPS
# Vérification de l'état des pairs GlusterFS
peers_status=$(sudo gluster peer status | grep "Peer in Cluster" | wc -l)
if [ "$peers_status" -ne 2 ]; then
log "Tous les pairs ne sont pas en ligne. Tentative de reconnexion des pairs."
# Ajout des adresses IP de vos pairs
peers=("192.168.1.50" "192.168.1.80" "192.168.1.110")
for peer in "${peers[@]}"; do
sudo gluster peer probe $peer
done
# Revérification de l'état des pairs
peers_status=$(sudo gluster peer status | grep "Peer in Cluster" | wc -l)
if [ "$peers_status" -ne 2]; then
log "Échec de la reconnexion de tous les pairs."
exit 1
else
log "Tous les pairs sont maintenant en ligne."
fi
else
log "Tous les pairs sont en ligne."
fi
step=$((step + 1))
progress $step $STEPS
# Vérification de l'état du volume
volume_status=$(sudo gluster volume info volume_applicatif | grep "Status: Started" | wc -l)
if [ "$volume_status" -ne 1]; then
log "Le volume volume_applicatif n'est pas démarré. Tentative de démarrage."
sudo gluster volume start volume_applicatif
if [ "$?" -ne 0 ]; then
log "Échec du démarrage du volume volume_applicatif."
exit 1
else
log "Volume volume_applicatif démarré avec succès."
fi
else
log "Le volume volume_applicatif est déjà démarré."
fi
step=$((step + 1))
progress $step $STEPS
# Vérification des briques du volume
brick_status=$(sudo gluster volume status volume_applicatif detail | grep "N/A" | wc -l)
if [ "$brick_status" -ne 0 ]; then
log "Certaines briques du volume volume_applicatif ne sont pas en ligne."
# Tentative de remonter les briques
sudo gluster volume heal volume_applicatif
fi
step=$((step + 1))
progress $step $STEPS
# Vérification du montage des volumes
if mountpoint -q /mnt/montage_applicatif; then
log "Le volume GlusterFS est déjà monté."
else
log "Tentative de montage du volume GlusterFS."
sudo mount -t glusterfs 192.168.1.50:/volume_applicatif /mnt/montage_applicatif
if [ "$?" -ne 0 ]; then
log "Échec du montage des volumes GlusterFS. Tentative de diagnostic."
# Diagnostic supplémentaire
mount_output=$(sudo mount -t glusterfs 192.168.1.50:/volume_applicatif /mnt/montage_applicatif 2>&1)
log "Sortie de la commande de montage : $mount_output"
# Vérification de l'accès au volume
glusterfs_output=$(sudo gluster volume status volume_applicatif 2>&1)
log "Statut du volume GlusterFS : $glusterfs_output"
exit 1
else
log "Volumes GlusterFS montés avec succès."
fi
fi
step=$((step + 1))
progress $step $STEPS
log "Script de vérification GlusterFS terminé avec succès."
progress $STEPS $STEPS
echo ""

View File

@@ -1,18 +1,63 @@
# Hosts Hosts
===
## Hosts / IPs ## Hosts / IPs
```bash
sudo vim /etc/hosts
```
```bash
127.0.0.1 localhost
127.0.1.1 <host>.local <host>
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
#
192.168.1.11 bob
192.168.1.12 carlo
192.168.1.13 gary
192.168.1.14 sandy
192.168.1.15 krabs
192.168.1.16 sheldon
192.168.1.17 bernie
# 192.168.1.18 pearl
#
192.168.1.53 retropie
```
### SSH
#### On remote (PC) :
```bash
ssh-keygen -t ed25519
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@192.168.1.xxx
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@<hostname>
```
===
### Map
```markdown ```markdown
. bikiniBottom . bikiniBottom
├── bob (192.168.1.11) # caddy
├── carlo (192.168.1.12) # stream
├── turing-pi (192.168.1.10) ├── turing-pi (192.168.1.10)
| ├── bob (192.168.1.11)
| ├── carlo (192.168.1.12)
| ├── gary (192.168.1.13) | ├── gary (192.168.1.13)
| ── sandy (192.168.1.14) | ── sandy (192.168.1.14)
├── krabs (192.168.1.15) | ├── sheldon (192.168.1.16)
├── sheldon (192.168.1.16) | └── pearl (192.168.1.18) # En attente
├── bernie (192.168.1.17) ├── krabs (192.168.1.15) # nfs server
├── pearl (192.168.1.18) # HS ├── bernie (192.168.1.17) # octoprint
| ------------------------------ | ------------------------------
└── retropie (192.168.1.53) └── retropie (192.168.1.53)
``` ```
@@ -21,183 +66,176 @@
### bob ### bob
<div class="table-wrapper" id="bkmrk-hardware-ip-cm-rk356"><table><tbody><tr><th colspan="1" rowspan="1">Hardware</th><th colspan="1" rowspan="1">IP</th></tr><tr><td colspan="1" rowspan="1">CM RK3566 (4/32 emmc)</td><td colspan="1" rowspan="1">192.168.1.11</td></tr><tr><td colspan="1" rowspan="1">Static hostname: bob ```bash
Pretty hostname: Compute Module n° 1 _,met$$$$$gg. hostname: bob
Icon name: computer ,g$$$$$$$$$$$$$$$P. OS: Debian 12 bookworm
Machine ID: b1cb31b775024e039647ff5f6630d7ed ,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.1.0-41-arm64
Boot ID: 2389279c30484c189b683e0cb42498e2 ,$$P' `$$$. Uptime:
Operating System: Debian GNU/Linux 12 (bookworm) ',$$P ,ggs. `$$b: Packages: 619
Kernel: Linux 6.1.0-18-arm64 `d$$' ,$P"' . $$$ Shell: bash 5.2.15
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table> $$P d$' , $$P Disk: 148G
$$: $$. - ,d$$' CPU: ARM Cortex-A55 @ 4x 1.8GHz
$$\; Y$b._ _,d$P' RAM: 3737MiB
Y$$. `.`"Y$$$$P"'
`$$b "-.__
`Y$$
`Y$$.
`$$b.
`Y$$b.
`"Y$b._
`""""
</div> ```
#### Docker
- [Flame](https://bookstack.delmar.bzh/IT/Flame.md?fileId=12230)
---
### carlo ### carlo
<div class="table-wrapper" id="bkmrk-hardware-ip-cm-rk356-1"><table><tbody><tr><th colspan="1" rowspan="1">Hardware</th><th colspan="1" rowspan="1">IP</th></tr><tr><td colspan="1" rowspan="1">CM RK3566 (8/32 emmc)</td><td colspan="1" rowspan="1">192.168.1.12</td></tr><tr><td colspan="1" rowspan="1">Static hostname: carlo ```bash
Pretty hostname: Compute Module n° 2 _,met$$$$$gg. hostname: carlo
Icon name: computer ,g$$$$$$$$$$$$$$$P. OS: Debian 12 bookworm
Machine ID: f02bbee5724d4201b27cf1eedcf7a186 ,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.1.0-41-arm64
Boot ID: eeece999704d4057b5b062fb48d490cb ,$$P' `$$$. Uptime:
Operating System: Debian GNU/Linux 12 (bookworm) ',$$P ,ggs. `$$b: Packages: 1339
Kernel: Linux 6.1.0-18-arm64 `d$$' ,$P"' . $$$ Shell: bash 5.2.15
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table> $$P d$' , $$P Disk: 265G
$$: $$. - ,d$$' CPU: ARM Cortex-A55 @ 4x 1.8GHz
$$\; Y$b._ _,d$P' RAM: 3737MiB
Y$$. `.`"Y$$$$P"'
`$$b "-.__
`Y$$
`Y$$.
`$$b.
`Y$$b.
`"Y$b._
`""""
</div> ```
#### Docker
- [Penpot](https://bookstack.delmar.bzh/IT/Penpot.md?fileId=12253)
- [Gitea](https://cloud.delmar.bzh/f/97765)
- [Seatsurfing](https://bookstack.delmar.bzh/IT/Seatsurfing.md?fileId=12263)
- [Vaultwarden](https://bookstack.delmar.bzh/IT/Vaultwarden.md?fileId=12267)
- [Bookstack](https://bookstack.delmar.bzh/books/selfhosted/page/bookstack "Bookstack")
- [Home Assistant](https://bookstack.delmar.bzh/books/selfhosted/page/home-assistant "Home Assistant")
- [Paperless-ngx](https://bookstack.delmar.bzh/books/selfhosted/page/paperless-ngx "Paperless-ngx")
---
### gary ### gary
<div class="table-wrapper" id="bkmrk-hardware-ip-cm-rk358"><table><tbody><tr><th colspan="1" rowspan="1">Hardware</th><th colspan="1" rowspan="1">IP</th></tr><tr><td colspan="1" rowspan="1">CM RK3588 (16/64 emmc)</td><td colspan="1" rowspan="1">192.168.1.13</td></tr><tr><td colspan="1" rowspan="1">Static hostname: sandy ```bash
Pretty hostname: Compute Module n° 3 ./+o+- hostname: gary
Icon name: computer yyyyy- -yyyyyy+ OS: Ubuntu 25.10 questing
Machine ID: bdaf4ea1b105412ea9f7e44631adac33 ://+//////-yyyyyyo Kernel: aarch64 Linux 6.11.0-1006-rockchip
Boot ID: f72153ed179c4cc2b3df1614c2f93d48 .++ .:/++++++/-.+sss/` Uptime:
Operating System: Ubuntu 22.04.4 LTS .:++o: /++++++++/:--:/- Packages: 1447
Kernel: Linux 5.10.160-rockchip o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.37
Architecture: arm64</td><td colspan="1" rowspan="1"> .:+o:+o/. `+sssoo+/ Disk: 1TB
</td></tr></tbody></table> .++/+:+oo+o:` /sssooo. CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1.8GHz
</div> /+++//+:`oo+o /::--:. GPU: Mali G610
--- \+/+o+++`o++o ++////. RAM: 15959MiB
.++.o+++oo+:` /dddhhh.
.+.o+oo:. `oddhhhh+
\+.++o+o``-````.:ohdhhhhh+
`:o+++ `ohhhhhhhhyo++os:
.o:`.syhhhhhhh/.oo++o`
/osyyyyyyo++ooo+++/
````` +oo+++o\:
`oo++.
```
### sandy ### sandy
<div class="table-wrapper" id="bkmrk-hardware-ip-cm-rk358-1"><table><tbody><tr><th colspan="1" rowspan="1">Hardware</th><th colspan="1" rowspan="1">IP</th></tr><tr><td colspan="1" rowspan="1">CM RK3588 (8/32 emmc)</td><td colspan="1" rowspan="1">192.168.1.14</td></tr><tr><td colspan="1" rowspan="1">Static hostname: sandy ```bash
Pretty hostname: Compute Module n° 4 ./+o+- hostname: sandy
Icon name: computer yyyyy- -yyyyyy+ OS: Ubuntu 25.10 questing
Machine ID: bdaf4ea1b105412ea9f7e44631adac33 ://+//////-yyyyyyo Kernel: aarch64 Linux 6.11.0-1006-rockchip
Boot ID: f72153ed179c4cc2b3df1614c2f93d48 .++ .:/++++++/-.+sss/` Uptime:
Operating System: Ubuntu 22.04.4 LTS .:++o: /++++++++/:--:/- Packages: 1262
Kernel: Linux 5.10.160-rockchip o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.37
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table> .:+o:+o/. `+sssoo+/ Disk: 1TB / 1TB
</div> .++/+:+oo+o:` /sssooo. CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1.8GHz
/+++//+:`oo+o /::--:. RAM: 7929MiB
#### NFS \+/+o+++`o++o ++////.
.++.o+++oo+:` /dddhhh.
.+.o+oo:. `oddhhhh+
\+.++o+o``-````.:ohdhhhhh+
`:o+++ `ohhhhhhhhyo++os:
.o:`.syhhhhhhh/.oo++o`
/osyyyyyyo++ooo+++/
````` +oo+++o\:
`oo++.
``` ```
/etc/fstab
```
```
krabs:/export/media    /nfs/media   nfs _netdev,x-systemd.automount,noauto,nofail,noatime,nolock,tcp,bg,actimeo=1800 0 0
```
#### Docker
- [Nextcloud](https://bookstack.delmar.bzh/IT/Nextcloud.md?fileId=12247)
- [Stirling PDF](https://bookstack.delmar.bzh/books/selfhosted/page/stirling-pdf "Stirling PDF")
- [Calibre](https://bookstack.delmar.bzh/IT/Calibre.md?fileId=12223)
- [Jellyfin / Jellyseerr](https://bookstack.delmar.bzh/IT/Jellyfin%20%26%20Jellyseerr%20(sandy).md?fileId=12236)
#### VPN
- [Proton VPN](https://bookstack.delmar.bzh/Proton%20VPN.md?fileId=55975)
---
### krabs ([NFS Server](https://bookstack.delmar.bzh/books/turing-pi/page/nfs-server "NFS Server")) ### krabs ([NFS Server](https://bookstack.delmar.bzh/books/turing-pi/page/nfs-server "NFS Server"))
<div class="table-wrapper" id="bkmrk-hardware-ip-cm-rk356-3"><table><tbody><tr><th colspan="1" rowspan="1">Hardware</th><th colspan="1" rowspan="1">IP</th></tr><tr><td colspan="1" rowspan="1">CM RK3566 (4/32 emmc)</td><td colspan="1" rowspan="1">192.168.1.15</td></tr><tr><td colspan="1" rowspan="1">Static hostname: krabs ```bash
Pretty hostname: NFS Server _,met$$$$$gg. hostname: krabs
Icon name: computer ,g$$$$$$$$$$$$$$$P. OS: Debian 12 bookworm
Machine ID: 723d4f09b6db47a282ff51544a27f6fb ,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.1.0-41-arm64
Boot ID: 9c008d0c84e04bf9a69fa713a83adfcb ,$$P' `$$$. Uptime:
Operating System: Debian GNU/Linux 12 (bookworm) ',$$P ,ggs. `$$b: Packages: 585
Kernel: Linux 6.1.0-18-arm64 `d$$' ,$P"' . $$$ Shell: bash 5.2.15
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table> $$P d$' , $$P Disk: 7.2TB
</div> $$: $$. - ,d$$' CPU: ARM Cortex-A55 @ 4x 1.8GHz
$$\; Y$b._ _,d$P' RAM: 7690MiB
Y$$. `.`"Y$$$$P"'
`$$b "-.__
`Y$$
`Y$$.
`$$b.
`Y$$b.
`"Y$b._
`""""
``` ```
sudo apt -y install nfs-kernel-server
sudo vim /etc/exports
```
```
/export 192.168.1.0/24(rw,no_root_squash,no_subtree_check)
/export/media 192.168.1.0/24(rw,no_root_squash,subtree_check,insecure)
```
```
sudo vim /etc/fstab
```
```
# LVM
/dev/disk/by-uuid/a67ae390-f36c-4b7c-98a0-4a3b5601c107          /mnt/data       ext4    defaults,nofail,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl     0 2
# NFS
/mnt/data/media/                /export/media   none    bind,nofail     0 0
```
#### Docker
- [Zipline](https://bookstack.delmar.bzh/books/selfhosted/page/zipline "Zipline")
---
### sheldon ### sheldon
<div class="table-wrapper" id="bkmrk-hardware-ip-odroid-h"><table><tbody><tr><th colspan="1" rowspan="1">Hardware</th><th colspan="1" rowspan="1">IP</th></tr><tr><td colspan="1" rowspan="1">Odroid HC4 (4/256 M2 SSD)</td><td colspan="1" rowspan="1">192.168.1.16</td></tr><tr><td colspan="1" rowspan="1">Static hostname: sheldon ```bash
Pretty hostname: The Venerable ./+o+- hostname: sheldon
Icon name: computer yyyyy- -yyyyyy+ OS: Ubuntu 25.10 questing
Machine ID: df84154b596a409fbdc89e877f1f3ed0 ://+//////-yyyyyyo Kernel: aarch64 Linux 6.11.0-1006-rockchip
Boot ID: e4911ef2b66f4f53b8ac6ae244d6ad44 .++ .:/++++++/-.+sss/` Uptime:
Operating System: Debian GNU/Linux 12 (bookworm) .:++o: /++++++++/:--:/- Packages: 1053
Kernel: Linux 6.1.0-odroid-arm64 o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.37
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table> .:+o:+o/. `+sssoo+/ Disk: 1TB / 1.8TB
</div> .++/+:+oo+o:` /sssooo. CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1.8GHz
/+++//+:`oo+o /::--:. RAM: 15959MiB
#### Docker \+/+o+++`o++o ++////.
.++.o+++oo+:` /dddhhh.
--- .+.o+oo:. `oddhhhh+
\+.++o+o``-````.:ohdhhhhh+
`:o+++ `ohhhhhhhhyo++os:
.o:`.syhhhhhhh/.oo++o`
/osyyyyyyo++ooo+++/
````` +oo+++o\:
`oo++.
```
### bernie ### bernie
<div class="table-wrapper" id="bkmrk-hardware-ip-cm-rk356-2"><table><tbody><tr><th colspan="1" rowspan="1">Hardware</th><th colspan="1" rowspan="1">IP</th></tr><tr><td colspan="1" rowspan="1">CM RK3566 (4/32 emmc)</td><td colspan="1" rowspan="1">192.168.1.17</td></tr><tr><td colspan="1" rowspan="1">Static hostname: bernie ```bash
Pretty hostname: _,met$$$$$gg. hostname: bernie
Icon name: computer ,g$$$$$$$$$$$$$$$P. OS: Debian 12 bookworm
Machine ID: ,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.1.0-41-arm64
Boot ID: ,$$P' `$$$. Uptime:
Operating System: Debian GNU/Linux 12 (bookworm) ',$$P ,ggs. `$$b: Packages: 988
Kernel: `d$$' ,$P"' . $$$ Shell: bash 5.2.15
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table> $$P d$' , $$P Disk: 265G
</div> $$: $$. - ,d$$' CPU: ARM Cortex-A55 @ 4x 1.8GHz
$$\; Y$b._ _,d$P' RAM: 3737MiB
Y$$. `.`"Y$$$$P"'
`$$b "-.__
`Y$$
`Y$$.
`$$b.
`Y$$b.
`"Y$b._
`""""
```
#### Docker ## Upcoming
- [Octoprint](https://bookstack.delmar.bzh/books/selfhosted/page/octoprint "Octoprint") ### patrick
```bash
```
--- ---
### pearl ### pearl
<div class="table-wrapper" id="bkmrk-hardware-ip-cm-rk356-4"><table><tbody><tr><th colspan="1" rowspan="1">Hardware</th><th colspan="1" rowspan="1">IP</th></tr><tr><td colspan="1" rowspan="1">CM RK3566 (4/32 emmc)</td><td colspan="1" rowspan="1">192.168.1.18</td></tr><tr><td colspan="1" rowspan="1">Static hostname: bernie ```bash
Pretty hostname:
Icon name: computer
Machine ID:
Boot ID:
Operating System: Debian GNU/Linux 12 (bookworm)
Kernel:
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table>
</div> ```
#### Docker

View File

@@ -6,7 +6,7 @@
sudo vim /etc/hosts sudo vim /etc/hosts
``` ```
```bash ```conf
127.0.0.1 localhost 127.0.0.1 localhost
127.0.1.1 <hostname>.local <hostname> 127.0.1.1 <hostname>.local <hostname>
@@ -42,6 +42,79 @@ ff02::3 ip6-allhosts
``` ```
### Broadcom (WiFi)
Réf. : [https://wiki.debian.org/WiFi/HowToUse](https://wiki.debian.org/WiFi/HowToUse)
```bash
cd /lib/firmware/brcm/
ln -s brcmfmac43455-sdio.AW-CM256SM.txt brcmfmac43455-sdio.pine64,rockpro64-v2.0.txt
ln -s brcmfmac43455-sdio.AW-CM256SM.txt brcmfmac43455-sdio.pine64,rockpro64-v2.1.txt
sudo rmmod brcmfmac
sudo modprobe brcmfmac
```
```bash
sudo vim /etc/systemd/network/25-wlan.network
```
```systemd
[Match]
Name=wlan0
[Network]
DHCP=ipv4
[DHCP]
UseDNS=yes
```
```bash
sudo vim /etc/network/interfaces.d/local
```
```conf
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# allow-hotplug end0
auto wlan0
iface wlan0 inet static
address 192.168.1.xx
netmask 255.255.255.0
gateway 192.168.1.254
    dns-nameservers 45.90.28.0
    dns-nameservers 45.90.30.0
# This is an autoconfigured IPv6 interface
iface end0 inet6 auto
```
```bash
sudo vim /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
```
```conf
ctrl_interface=DIR=/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="BikiniBottom"
#psk="transatlantique"
psk=e5b692f43ab186494b7f37949d9084e1c0e97fd74d8f14a6325be2e62309067e
}
```
```bash
sudo systemctl enable --now wpa_supplicant@wlan0.service
sudo su -l -c "systemctl enable --now systemd-networkd"
```
### Ethernet
#### Debian #### Debian
```bash ```bash
@@ -59,7 +132,7 @@ source /etc/network/interfaces.d/*
sudo vim /etc/network/interfaces.d/local sudo vim /etc/network/interfaces.d/local
``` ```
```bash ```conf
# The loopback network interface # The loopback network interface
auto lo auto lo
iface lo inet loopback iface lo inet loopback
@@ -68,13 +141,15 @@ iface lo inet loopback
# allow-hotplug end0 # allow-hotplug end0
auto end0 auto end0
iface end0 inet static iface end0 inet static
    address 192.168.1.12 address 192.168.1.xx
    netmask 255.255.255.0 netmask 255.255.255.0
    gateway 192.168.1.254 gateway 192.168.1.254
    dns-nameservers 1.1.1.1     dns-nameservers 45.90.28.0
    dns-nameservers 1.0.0.1     dns-nameservers 45.90.30.0
# This is an autoconfigured IPv6 interface # This is an autoconfigured IPv6 interface
# iface end0 inet6 auto iface end0 inet6 auto
``` ```
```bash ```bash
@@ -95,14 +170,28 @@ network:
    end0:     end0:
      dhcp4: no       dhcp4: no
      addresses:       addresses:
        - 192.168.1.13/24         - 192.168.1.xx/24
      routes:       routes:
        - to: default         - to: default
          via: 192.168.1.254           via: 192.168.1.254
      nameservers:       nameservers:
        addresses: [1.1.1.1, 1.0.0.1]         addresses: [45.90.28.0, 45.90.30.0]
``` ```
```bash ```bash
sudo netplan apply sudo netplan apply
``` ```
#### DNS Servers
| DNS | Adresses IPv4 | Adresses IPv6 |
| --- | --- | --- |
| 1 [**Cloudflare 1.1.1.1**] | 1.1.1.1<br />1.0.0.1 | 2606:4700:4700::1111<br />2606:4700:4700::1001 |
| 2 [Cisco OpenDNS Home](https://www.opendns.com/) | 208.67.222.222<br />208.67.220.220 | 2620:119:35::35<br />2620:119:53::53 |
| 3 [Neustar UltraDNS Public](https://www.publicdns.neustar/) | 64.6.64.6<br />64.6.65.6 | 2620:74:1b::1:1<br />2620:74:1c::2:2 |
| 4 [NextDNS](https://nextdns.io/fr) | 45.90.28.0<br />45.90.30.0 | 2a07:a8c0::<br />2a07:a8c1::|
| 5 [Google Public DNS](https://developers.google.com/speed/public-dns) | 8.8.8.8<br />8.8.4.4 | 2001:4860:4860::8888<br />2001:4860:4860::8844 |
| 6 [**Quad9**](https://www.quad9.net/) | 9.9.9.9<br />149.112.112.112 | 2620:fe::fe, 2620:fe::9 |
| 7 [Comodo Secure DNS](https://www.comodo.com/secure-dns/) | 8.26.56.26<br />8.20.247.20 | |
| 8 [Yandex.DNS](https://dns.yandex.com/ ) | 77.88.8.8<br />77.88.8.1 | 2a02:6b8::feed:0ff<br />2a02:6b8:0:1::feed:0ff |
| 9 [SafeDNS](https://www.safedns.com/fr/) | 195.46.39.39<br />195.46.39.40 | 2001:67c:2778::3939<br />2001:67c:2778::3940 |

View File

@@ -53,7 +53,7 @@ vgcreate hdds /dev/sdb /dev/sdc
#### Logical Volume(s) #### Logical Volume(s)
``` ```
lvcreate -L 100%FREE -n datas hdds lvcreate --extents 100%FREE -n datas hdds
``` ```
``` ```
@@ -134,6 +134,12 @@ Read ahead sectors     auto
Block device           254:0 Block device           254:0
``` ```
#### Format LV
```bash
sudo mkfs.ext4 /dev/hdds/datas
```
### NFS
``` ```
# mkdir -p /mnt/data/cloud # mkdir -p /mnt/data/cloud
# mkdir -p /mnt/data/gitea # mkdir -p /mnt/data/gitea
@@ -178,12 +184,17 @@ sudo vim /etc/fstab
``` ```
# LVM # LVM
UUID=a67ae390-f36c-4b7c-98a0-4a3b5601c107 /mnt/data ext4 defaults,nofail,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2 UUID=0c390345-ca52-45fd-9097-6e931d651a8f / ext4 defaults,x-systemd.growfs 0 1
# NFS # LVM
/mnt/data/cloud /export/cloud none bind,nofail 0 0 /dev/hdds/datas /mnt/data ext4 defaults,nofail,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2
/mnt/data/gitea /export/gitea none bind,nofail 0 0 # NFS exports
/mnt/data/jellystack /export/jellystack none bind,nofail 0 0 /mnt/data/cloud /srv/nfs4/cloud none bind,nofail 0 0
/mnt/data/media /export/media none bind,nofail 0 0 /mnt/data/media /srv/nfs4/media none bind,nofail 0 0
/mnt/data/ebooks /srv/nfs4/ebooks none bind,nofail 0 0
/mnt/data/git /srv/nfs4/git none bind,nofail 0 0
/mnt/data/photos /srv/nfs4/photos none bind,nofail 0 0
/mnt/data/downloads /srv/nfs4/downloads none bind,nofail 0 0
/opt/backups /srv/nfs4/backups none bind,nofail 0 0
``` ```
**PS : Check the content of /var/lib/nfs/etab to show NFS shares list and all the applied permission details** **PS : Check the content of /var/lib/nfs/etab to show NFS shares list and all the applied permission details**
@@ -193,10 +204,14 @@ cat /var/lib/nfs/etab
``` ```
```shell ```shell
/export/media 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash) /srv/nfs4 192.168.1.0/24(rw,sync,no_subtree_check,crossmnt,fsid=0)
/export/jellystack 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash) /srv/nfs4/cloud 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/export/gitea 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash) /srv/nfs4/media 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/export/cloud 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash) /srv/nfs4/ebooks 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/git 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/photos 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/downloads 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,insecure,no_root_squash,no_all_squash,subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,insecure,no_root_squash,no_all_squash)
/srv/nfs4/backups 192.168.1.0/24(ro,sync,no_subtree_check)
``` ```
#### Client(s) #### Client(s)
@@ -213,10 +228,10 @@ sudo vim /etc/fstab
``` ```
```shell ```shell
krabs:/export/cloud /nfs/media nfs _netdev,x-systemd.automount,noauto,nofail,noatime,nolock,tcp,bg,actimeo=1800 0 0 krabs:/srv/nfs4/cloud /nfs/media nfs _netdev,x-systemd.automount,noauto,nofail,noatime,nolock,tcp,bg,actimeo=1800 0 0
krabs:/export/gitea /nfs/gitea nfs _netdev,x-systemd.automount,noauto,nofail,noatime,nolock,tcp,bg,actimeo=1800 0 0 krabs:/srv/nfs4/git /nfs/git nfs _netdev,x-systemd.automount,noauto,nofail,noatime,nolock,tcp,bg,actimeo=1800 0 0
krabs:/export/jellystack /nfs/jellystack nfs _netdev,x-systemd.automount,noauto,nofail,noatime,nolock,tcp,bg,actimeo=1800 0 0 krabs:/srv/nfs4/media /nfs/media nfs _netdev,x-systemd.automount,noauto,nofail,noatime,nolock,tcp,bg,actimeo=1800 0 0
krabs:/export/media /nfs/media nfs _netdev,x-systemd.automount,noauto,nofail,noatime,nolock,tcp,bg,actimeo=1800 0 0 krabs:/srv/nfs4/ebooks /nfs/ebooks nfs _netdev,x-systemd.automount,noauto,nofail,noatime,nolock,tcp,bg,actimeo=1800 0 0
``` ```
```bash ```bash
@@ -226,4 +241,4 @@ sudo mount /nfs/jellystack
sudo mount /nfs/media sudo mount /nfs/media
sudo systemctl daemon-reload sudo systemctl daemon-reload
``` ```

62
Turing Pi/odroid-hc4.md Normal file
View File

@@ -0,0 +1,62 @@
Odroid HC4
===
[![hc4-board.webp](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/scaled-1680-/4kugAUKiY1KhcIBa-hc4-board.webp)](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/4kugAUKiY1KhcIBa-hc4-board.webp)
##### Specifications
<div class="level2" id="bkmrk-form-factor-board-di"><div class="table-responsive"><table class="inline table table-striped table-bordered table-hover table-condensed"><tbody><tr class="row0"><th class="col0 leftalign">Form Factor</th><td class="col1 leftalign">Board Dimensions: 84mm x 90.5mm x 25.0mm
Heatsink Dimensions: 40mm x 32mm x 10mm
Weight: 280g including heatsink, fan and case</td></tr><tr class="row1"><th class="col0 leftalign">Processor</th><td class="col1 leftalign">Amlogic S905X3 Processor
L1 instruction cache: 32 KB, 4-way set associative (128 sets), 64 byte lines, shared by 1 processor
L1 data cache: 32 KB, 4-way set associative (128 sets), 64 byte lines, shared by 1 processor
L3 data cache: 512KB , 16-way set associative (512 sets), 64 byte lines, shared by 4 processors
Quad-Core Cortex-A55 (1.800GHz)
ARMv8-A architecture with Neon and Crypto extensions
Mali-G31 MP2 GPU with 4 x Execution Engines (650Mhz)</td></tr><tr class="row2"><th class="col0 leftalign">Memory</th><td class="col1 leftalign">DDR4 4GiB with 32-bit bus width
Data rate: 2640 MT/s (PC4-21333 grade)
1.2Volt low power design</td></tr><tr class="row3"><th class="col0 leftalign">Storage</th><td class="col1 leftalign">1x Micro SD slot (DS/HS mode up to UHS-I SDR104)</td></tr><tr class="row4"><th class="col0 leftalign">Networking</th><td class="col1 leftalign">1 x GbE <abbr data-original-title="Local Area Network" title="">LAN</abbr> ports (RJ45, supports 10/100/1000 Mbps)
- Realtek RTL8211F (Ethernet transceiver)
- LED indicators
\* Green LED: Flashing by data traffics at 100Mbps connection
\* Amber LED: Flashing by data traffics at 1000Mbps connection</td></tr><tr class="row5"><th class="col0 leftalign">Video</th><td class="col1 leftalign">1 x HDMI 2.0 (up to 4K@60Hz with HDR, CEC, EDID)
Although the +5V Power pin is able to supply a mininum of 300mA, a sink shall not draw more than 50mA of current from the +5V Power pin.</td></tr><tr class="row6"><th class="col0 leftalign">Audio</th><td class="col1 leftalign">1 x HDMI digital output</td></tr><tr class="row7"><th class="col0 leftalign">Cooler</th><td class="col1 leftalign">1 x Passive heatsink ( 40x32x10 mm ) on the CPU of PCB board
1 x Hydraulic Bearing FAN
- Rated Voltage : 5V
- Rated Current : 100mA
- Max Speed RPM : 4,000
- Air Flow CFM : 4.3
- Air Pressure (In H2O) : 0.053
- Noise Level(dBA) : 23.9
- Dimension : 40 x 40 x 10.6 mm
- Wire &amp; Connector : 80mm, 4 pin 1.25mm pitch</td></tr><tr class="row8"><th class="col0 leftalign">External I/O</th><td class="col1 leftalign">1 x USB 2.0 host port
1 x Debug serial console (UART)
2 x SATA Connectors</td></tr><tr class="row9"><th class="col0 leftalign">Other features</th><td class="col1 leftalign">IR receiver for remote controller
System LED Indicators:
- Red (POWER) Solid light when DC power is connected
- Blue (ALIVE) Flashing like heartbeat while Kernel is running. Solid On in the u-boot stage. Turns off if there is no bootable media.
- Red (HDD/SSD active) - Flashing while SATA HDD/SSD are reading or writing.</td></tr><tr class="row10"><th class="col0 leftalign">Power</th><td class="col1 leftalign">1 x DC jack : outer (negative) diameter 5.5mm, inner (positive) diameter 2.1mm
DC input : 14.5V ~ 15.5V
\- DC 15V/4A power adapter is recommended
Power consumption with two ST2000DM006 HDDs :
\- IDLE(with HDD in spin-down) : ≃ 5.88W
\- Active(using SAMBA): ≃ 15.59W
\- Suspend: ≃ 0.29W
</td></tr></tbody></table>
</div></div>##### Setup
> sheldon (192.168.1.16)
> pleb/transatlantique
```
Choose "Exit to shell"
(switch to console then)
# netboot_default
# exit
(back to petiboot menu)
```
&gt; Choose OS from the net install-able" image list...

66
Turing Pi/webcam.md Normal file
View File

@@ -0,0 +1,66 @@
Webcam
===
### (carlo)
```bash
echo 'deb http://download.opensuse.org/repositories/hardware:/razer/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/hardware:razer.list
curl -fsSL https://download.opensuse.org/repositories/hardware:razer/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/hardware_razer.gpg > /dev/null
sudo apt update
sudo apt install usbutils openrazer-meta vlc
lsusb | grep '1532:'
```
```
Bus 001 Device 004: ID 1532:0e06 Razer USA, Ltd Razer Kiyo X
```
```bash
cvlc v4l2:///dev/video3
```
```bash
sudo vim /usr/share/camera-streamer/examples/camera-streamer-generic-usb-cam.service
```
```
[Unit]
Description=camera-streamer web camera for USB camera on Generic platform
After=network.target
ConditionPathExistsGlob=/dev/v4l/by-id/usb-*-video-index0
[Service]
ExecStart=/usr/bin/camera-streamer \
-camera-path=/dev/video3 \
-camera-format=JPEG \
-camera-width=1920 -camera-height=1080 \
-camera-fps=30 \
; use two memory buffers to optimise usage
-camera-nbufs=3 \
--http-listen=0.0.0.0 \
--http-port=8080 \
; disable video streaming (WebRTC, RTSP, H264)
; on non-supported platforms
-camera-video.disabled
DynamicUser=yes
SupplementaryGroups=video i2c
Restart=always
RestartSec=10
Nice=10
IOSchedulingClass=idle
IOSchedulingPriority=7
CPUWeight=20
AllowedCPUs=1-2
MemoryMax=250M
[Install]
WantedBy=multi-user.target
```
```bash
sudo systemctl enable /usr/share/camera-streamer/examples/camera-streamer-generic-usb-cam.service
sudo systemctl start camera-streamer-generic-usb-cam.service
```

BIN
bikiniBottom.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB