Compare commits
96 Commits
6bfa896f9a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| b7e300bd6e | |||
| 55a79f87f2 | |||
| 69938dbaa5 | |||
| 8d24f04835 | |||
| bba97daccb | |||
| 2a98486539 | |||
| c3a49a56fa | |||
| baab094ae0 | |||
| 9ba50a608c | |||
| 30a8054f08 | |||
| be7c77f535 | |||
| 5782483e38 | |||
| 2bfb3a0793 | |||
| 6e79bcb30b | |||
| b29aa2fc3e | |||
| af37a21eb2 | |||
| a6c26e2be1 | |||
| 45efbb92d5 | |||
| 70bf3d71e1 | |||
| bc1fbdf1c5 | |||
| 23233a402b | |||
| 47c068e1d9 | |||
| 5be21666c5 | |||
| be00f2ca59 | |||
| bd3669e206 | |||
| 33d77d76e7 | |||
| d11f4a81e6 | |||
| 86a93f9c7c | |||
| 5f7d53fbca | |||
| 489a33655e | |||
| 26a7ac9b2e | |||
| 6ef480e13f | |||
| 15ac2592e0 | |||
| 55a59ce5f3 | |||
| 27d8c536e4 | |||
| 0f9acf83f5 | |||
| cd9d0dfb82 | |||
| 0391c697ce | |||
| fe9dec0986 | |||
| 92fe193e9f | |||
| 8f41bca5ef | |||
| 614c1cb882 | |||
| 29c79f7435 | |||
| bb06aa5899 | |||
| 8f7c650b67 | |||
| 3418574091 | |||
| 85259de2b6 | |||
| b627f61900 | |||
| fe789dc10f | |||
| 9176fed577 | |||
| e73456d028 | |||
| 9db46695b2 | |||
| c0c0a01908 | |||
| 2632004407 | |||
| 8cd799598f | |||
| 462ce1428a | |||
| 298a4a0ce9 | |||
| c99d6c6c7d | |||
| 3d0675a431 | |||
| bf82ce8fe0 | |||
| 23b73851af | |||
| 452750d3dd | |||
| 26a8add1e6 | |||
| 760de115b5 | |||
| e0632b0ab5 | |||
| c289c17200 | |||
| b4d20a6063 | |||
| 1a9ac3d8f4 | |||
| 0d4e70f9cc | |||
| 294b40a3e4 | |||
| ee4bc73742 | |||
| a92712a751 | |||
| c4cf3acfe1 | |||
| 3e8f19122f | |||
| bfbfaf2d0c | |||
| 1508c26207 | |||
| ab50915a53 | |||
| 9b65de70de | |||
| cb7d6c9187 | |||
| 5ffcde3797 | |||
| bce22e338f | |||
| 19ec50325f | |||
| 30cc023fa3 | |||
| b9d63c4bb1 | |||
| a1b1614e53 | |||
| b9b59f2eae | |||
| b4bff712bc | |||
| 82839da4d6 | |||
| a62397c267 | |||
| 1951d195e4 | |||
| bd5da41b9d | |||
| 694f52e40b | |||
| 810d55c5dc | |||
| 3dfe9f5ea2 | |||
| 35b720c77f | |||
| 4258dd4fb2 |
@@ -13,7 +13,7 @@ all:
|
||||
carlo:
|
||||
ansible_connection: ssh
|
||||
ansible_user: pleb
|
||||
patrick:
|
||||
gary:
|
||||
ansible_connection: ssh
|
||||
ansible_user: pleb
|
||||
sandy:
|
||||
@@ -25,6 +25,12 @@ all:
|
||||
sheldon:
|
||||
ansible_connection: ssh
|
||||
ansible_user: pleb
|
||||
bernie:
|
||||
ansible_connection: ssh
|
||||
ansible_user: pleb
|
||||
pearl:
|
||||
ansible_connection: ssh
|
||||
ansible_user: pleb
|
||||
```
|
||||
|
||||
```bash
|
||||
@@ -33,12 +39,14 @@ sudo vim ~/.ansible/inventory
|
||||
|
||||
```
|
||||
[all]
|
||||
bob ansible_connection=ssh ansible_user=pleb
|
||||
carlo ansible_connection=ssh ansible_user=pleb
|
||||
gary ansible_connection=ssh ansible_user=pleb
|
||||
sandy ansible_connection=ssh ansible_user=pleb
|
||||
krabs ansible_connection=ssh ansible_user=pleb
|
||||
sheldon ansible_connection=ssh ansible_user=pleb
|
||||
bob ansible_connection=ssh ansible_user=pleb
|
||||
carlo ansible_connection=ssh ansible_user=pleb
|
||||
gary ansible_connection=ssh ansible_user=pleb
|
||||
sandy ansible_connection=ssh ansible_user=pleb
|
||||
krabs 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
|
||||
|
||||
@@ -32,3 +32,75 @@ dns_ovh_application_key = 3f8bdfed17f848d8
|
||||
dns_ovh_application_secret = 6946758d7515ecef108aeb286bf3c7d0
|
||||
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
72
Divers/OVH_Stalwart.md
Normal 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
|
||||
```
|
||||
@@ -2,6 +2,41 @@
|
||||
|
||||
### 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
|
||||
|
||||
```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>
|
||||
|
||||
```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
70
Divers/Zone DNS.md
Normal 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
|
||||
```
|
||||
470
On host/Caddy.md
470
On host/Caddy.md
@@ -40,7 +40,10 @@ export PATH=$PATH:/usr/local/go/bin
|
||||
mkdir ~/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 chown root:root /usr/bin/caddy
|
||||
sudo chmod 755 /usr/bin/caddy
|
||||
@@ -51,211 +54,7 @@ sudo systemctl daemon-reload
|
||||
sudo vim /etc/caddy/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
|
||||
}
|
||||
```
|
||||
> [[Caddyfile]]
|
||||
|
||||
```bash
|
||||
sudo systemctl restart caddy
|
||||
@@ -263,10 +62,259 @@ sudo systemctl restart caddy
|
||||
|
||||
# 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
|
||||
|
||||
</td><td>sheldon</td><td>192.168.1.230:6875</td></tr><tr><td>cloud.delmar.bzh
|
||||
|
||||
</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>> Caddyfile</td></tr><tr><td>kontadenn.delmar.bzh</td><td>bob</td><td>> Caddyfile</td></tr><tr><td>nds.delmar.bzh</td><td>bob</td><td>> Caddyfile</td></tr><tr><td>nsns.delmar.bzh</td><td>bob</td><td>> 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>> Caddyfile</td></tr><tr><td> </td><td> </td><td> </td></tr></tbody></table>
|
||||
<div class="table-wrapper" id="bkmrk-service-host-ip%3Aport"><table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>URL</th>
|
||||
<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>> 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>> Caddyfile</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>nsns.delmar.bzh</td>
|
||||
<td>bob</td>
|
||||
<td>> 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>> 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>> 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>
|
||||
|
||||
571
On host/Caddyfile
Normal file
571
On host/Caddyfile
Normal 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
|
||||
}
|
||||
42
On host/Camera Streamer.md
Normal file
42
On host/Camera Streamer.md
Normal 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
106
On host/Cockpit.md
Normal 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 ?)
|
||||
@@ -2,7 +2,10 @@
|
||||
|
||||
### 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
|
||||
@@ -32,17 +35,22 @@ sudo systemctl stop docker.service
|
||||
sudo systemctl stop docker.socket
|
||||
|
||||
#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
|
||||
sudo vim /etc/docker/daemon.json
|
||||
```
|
||||
|
||||
### (!) Changed /mnt/data/dockerdata to /mnt/docker/data (!)
|
||||
```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/
|
||||
```
|
||||
|
||||
Fix docker error loading config file
|
||||
```bash
|
||||
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
|
||||
sudo chmod g+rwx "/home/$USER/.docker" -R
|
||||
```
|
||||
#### Portainer
|
||||
|
||||
```bash
|
||||
|
||||
19
On host/Node.js.md
Normal file
19
On host/Node.js.md
Normal 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
118
On host/borg-server.md
Normal 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
|
||||
```
|
||||
175
On host/linux_file_system_infographic.svg
Normal file
175
On host/linux_file_system_infographic.svg
Normal 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 & 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 & 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 (>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 (<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 |
8
Turing Pi/cockpit-file-sharing_nfs.krabs.exports
Normal file
8
Turing Pi/cockpit-file-sharing_nfs.krabs.exports
Normal 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)
|
||||
@@ -1,4 +1,5 @@
|
||||
# Compute Modules
|
||||
Compute Modules
|
||||
===
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
#### Wifi
|
||||
#### Networking
|
||||
|
||||
Réf. : [https://wiki.debian.org/WiFi/HowToUse](https://wiki.debian.org/WiFi/HowToUse)
|
||||
|
||||
```
|
||||
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"
|
||||
```
|
||||
> [Networking](networking.md)
|
||||
|
||||
#### Sensors
|
||||
|
||||
@@ -212,256 +146,11 @@ sudo dpkg-reconfigure tzdata
|
||||
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh |
|
||||
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)
|
||||
|
||||
---
|
||||
#### 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
|
||||
|
||||
[](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 & 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)
|
||||
```
|
||||
|
||||
> 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 >>
|
||||
|
||||
```
|
||||
UUID=a4e3d8f1-11cc-482b-9596-57c44b122e48
|
||||
```
|
||||
|
||||
- carlo | CHANGED | rc=0 >>
|
||||
|
||||
|
||||
```
|
||||
(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
|
||||
> [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">> [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
|
||||
|
||||
111
Turing Pi/disks.md
Normal file
111
Turing Pi/disks.md
Normal 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>
|
||||
```
|
||||
134
Turing Pi/glusterfs-check.sh
Normal file
134
Turing Pi/glusterfs-check.sh
Normal 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 ""
|
||||
@@ -1,18 +1,63 @@
|
||||
# Hosts
|
||||
Hosts
|
||||
===
|
||||
|
||||
## 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
|
||||
. bikiniBottom
|
||||
├── bob (192.168.1.11) # caddy
|
||||
├── carlo (192.168.1.12) # stream
|
||||
├── turing-pi (192.168.1.10)
|
||||
| ├── bob (192.168.1.11)
|
||||
| ├── carlo (192.168.1.12)
|
||||
| ├── gary (192.168.1.13)
|
||||
| └── sandy (192.168.1.14)
|
||||
├── krabs (192.168.1.15)
|
||||
├── sheldon (192.168.1.16)
|
||||
├── bernie (192.168.1.17)
|
||||
├── pearl (192.168.1.18) # HS
|
||||
| ├── sandy (192.168.1.14)
|
||||
| ├── sheldon (192.168.1.16)
|
||||
| └── pearl (192.168.1.18) # En attente
|
||||
├── krabs (192.168.1.15) # nfs server
|
||||
├── bernie (192.168.1.17) # octoprint
|
||||
| ------------------------------
|
||||
└── retropie (192.168.1.53)
|
||||
```
|
||||
@@ -21,183 +66,176 @@
|
||||
|
||||
### 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
|
||||
Pretty hostname: Compute Module n° 1
|
||||
Icon name: computer
|
||||
Machine ID: b1cb31b775024e039647ff5f6630d7ed
|
||||
Boot ID: 2389279c30484c189b683e0cb42498e2
|
||||
Operating System: Debian GNU/Linux 12 (bookworm)
|
||||
Kernel: Linux 6.1.0-18-arm64
|
||||
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table>
|
||||
```bash
|
||||
_,met$$$$$gg. hostname: bob
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 12 bookworm
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.1.0-41-arm64
|
||||
,$$P' `$$$. Uptime:
|
||||
',$$P ,ggs. `$$b: Packages: 619
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.15
|
||||
$$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
|
||||
|
||||
<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
|
||||
Pretty hostname: Compute Module n° 2
|
||||
Icon name: computer
|
||||
Machine ID: f02bbee5724d4201b27cf1eedcf7a186
|
||||
Boot ID: eeece999704d4057b5b062fb48d490cb
|
||||
Operating System: Debian GNU/Linux 12 (bookworm)
|
||||
Kernel: Linux 6.1.0-18-arm64
|
||||
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table>
|
||||
```bash
|
||||
_,met$$$$$gg. hostname: carlo
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 12 bookworm
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.1.0-41-arm64
|
||||
,$$P' `$$$. Uptime:
|
||||
',$$P ,ggs. `$$b: Packages: 1339
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.15
|
||||
$$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
|
||||
|
||||
<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
|
||||
Pretty hostname: Compute Module n° 3
|
||||
Icon name: computer
|
||||
Machine ID: bdaf4ea1b105412ea9f7e44631adac33
|
||||
Boot ID: f72153ed179c4cc2b3df1614c2f93d48
|
||||
Operating System: Ubuntu 22.04.4 LTS
|
||||
Kernel: Linux 5.10.160-rockchip
|
||||
Architecture: arm64</td><td colspan="1" rowspan="1">
|
||||
</td></tr></tbody></table>
|
||||
</div>
|
||||
---
|
||||
```bash
|
||||
./+o+- hostname: gary
|
||||
yyyyy- -yyyyyy+ OS: Ubuntu 25.10 questing
|
||||
://+//////-yyyyyyo Kernel: aarch64 Linux 6.11.0-1006-rockchip
|
||||
.++ .:/++++++/-.+sss/` Uptime:
|
||||
.:++o: /++++++++/:--:/- Packages: 1447
|
||||
o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.37
|
||||
.:+o:+o/. `+sssoo+/ Disk: 1TB
|
||||
.++/+:+oo+o:` /sssooo. CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1.8GHz
|
||||
/+++//+:`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
|
||||
|
||||
<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
|
||||
Pretty hostname: Compute Module n° 4
|
||||
Icon name: computer
|
||||
Machine ID: bdaf4ea1b105412ea9f7e44631adac33
|
||||
Boot ID: f72153ed179c4cc2b3df1614c2f93d48
|
||||
Operating System: Ubuntu 22.04.4 LTS
|
||||
Kernel: Linux 5.10.160-rockchip
|
||||
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
#### NFS
|
||||
|
||||
```bash
|
||||
./+o+- hostname: sandy
|
||||
yyyyy- -yyyyyy+ OS: Ubuntu 25.10 questing
|
||||
://+//////-yyyyyyo Kernel: aarch64 Linux 6.11.0-1006-rockchip
|
||||
.++ .:/++++++/-.+sss/` Uptime:
|
||||
.:++o: /++++++++/:--:/- Packages: 1262
|
||||
o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.37
|
||||
.:+o:+o/. `+sssoo+/ Disk: 1TB / 1TB
|
||||
.++/+:+oo+o:` /sssooo. CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1.8GHz
|
||||
/+++//+:`oo+o /::--:. RAM: 7929MiB
|
||||
\+/+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"))
|
||||
|
||||
<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
|
||||
Pretty hostname: NFS Server
|
||||
Icon name: computer
|
||||
Machine ID: 723d4f09b6db47a282ff51544a27f6fb
|
||||
Boot ID: 9c008d0c84e04bf9a69fa713a83adfcb
|
||||
Operating System: Debian GNU/Linux 12 (bookworm)
|
||||
Kernel: Linux 6.1.0-18-arm64
|
||||
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
```bash
|
||||
_,met$$$$$gg. hostname: krabs
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 12 bookworm
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.1.0-41-arm64
|
||||
,$$P' `$$$. Uptime:
|
||||
',$$P ,ggs. `$$b: Packages: 585
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.15
|
||||
$$P d$' , $$P Disk: 7.2TB
|
||||
$$: $$. - ,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
|
||||
|
||||
<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
|
||||
Pretty hostname: The Venerable
|
||||
Icon name: computer
|
||||
Machine ID: df84154b596a409fbdc89e877f1f3ed0
|
||||
Boot ID: e4911ef2b66f4f53b8ac6ae244d6ad44
|
||||
Operating System: Debian GNU/Linux 12 (bookworm)
|
||||
Kernel: Linux 6.1.0-odroid-arm64
|
||||
Architecture: arm64</td><td colspan="1" rowspan="1"> </td></tr></tbody></table>
|
||||
</div>
|
||||
|
||||
#### Docker
|
||||
|
||||
---
|
||||
```bash
|
||||
./+o+- hostname: sheldon
|
||||
yyyyy- -yyyyyy+ OS: Ubuntu 25.10 questing
|
||||
://+//////-yyyyyyo Kernel: aarch64 Linux 6.11.0-1006-rockchip
|
||||
.++ .:/++++++/-.+sss/` Uptime:
|
||||
.:++o: /++++++++/:--:/- Packages: 1053
|
||||
o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.37
|
||||
.:+o:+o/. `+sssoo+/ Disk: 1TB / 1.8TB
|
||||
.++/+:+oo+o:` /sssooo. CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1.8GHz
|
||||
/+++//+:`oo+o /::--:. RAM: 15959MiB
|
||||
\+/+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
|
||||
|
||||
<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
|
||||
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>
|
||||
```bash
|
||||
_,met$$$$$gg. hostname: bernie
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 12 bookworm
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.1.0-41-arm64
|
||||
,$$P' `$$$. Uptime:
|
||||
',$$P ,ggs. `$$b: Packages: 988
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.15
|
||||
$$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._
|
||||
`""""
|
||||
```
|
||||
|
||||
#### Docker
|
||||
## Upcoming
|
||||
|
||||
- [Octoprint](https://bookstack.delmar.bzh/books/selfhosted/page/octoprint "Octoprint")
|
||||
### patrick
|
||||
|
||||
```bash
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 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
|
||||
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>
|
||||
```bash
|
||||
|
||||
</div>
|
||||
|
||||
#### Docker
|
||||
```
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
sudo vim /etc/hosts
|
||||
```
|
||||
|
||||
```bash
|
||||
```conf
|
||||
127.0.0.1 localhost
|
||||
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
|
||||
|
||||
```bash
|
||||
@@ -59,7 +132,7 @@ source /etc/network/interfaces.d/*
|
||||
sudo vim /etc/network/interfaces.d/local
|
||||
```
|
||||
|
||||
```bash
|
||||
```conf
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
@@ -68,13 +141,15 @@ iface lo inet loopback
|
||||
# allow-hotplug end0
|
||||
auto end0
|
||||
iface end0 inet static
|
||||
address 192.168.1.12
|
||||
netmask 255.255.255.0
|
||||
gateway 192.168.1.254
|
||||
dns-nameservers 1.1.1.1
|
||||
dns-nameservers 1.0.0.1
|
||||
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
|
||||
iface end0 inet6 auto
|
||||
|
||||
```
|
||||
|
||||
```bash
|
||||
@@ -95,14 +170,28 @@ network:
|
||||
end0:
|
||||
dhcp4: no
|
||||
addresses:
|
||||
- 192.168.1.13/24
|
||||
- 192.168.1.xx/24
|
||||
routes:
|
||||
- to: default
|
||||
via: 192.168.1.254
|
||||
nameservers:
|
||||
addresses: [1.1.1.1, 1.0.0.1]
|
||||
addresses: [45.90.28.0, 45.90.30.0]
|
||||
```
|
||||
|
||||
```bash
|
||||
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 |
|
||||
|
||||
@@ -53,7 +53,7 @@ vgcreate hdds /dev/sdb /dev/sdc
|
||||
#### 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
|
||||
```
|
||||
|
||||
#### Format LV
|
||||
```bash
|
||||
sudo mkfs.ext4 /dev/hdds/datas
|
||||
```
|
||||
|
||||
### NFS
|
||||
```
|
||||
# mkdir -p /mnt/data/cloud
|
||||
# mkdir -p /mnt/data/gitea
|
||||
@@ -178,12 +184,17 @@ sudo vim /etc/fstab
|
||||
|
||||
```
|
||||
# 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
|
||||
# NFS
|
||||
/mnt/data/cloud /export/cloud none bind,nofail 0 0
|
||||
/mnt/data/gitea /export/gitea none bind,nofail 0 0
|
||||
/mnt/data/jellystack /export/jellystack none bind,nofail 0 0
|
||||
/mnt/data/media /export/media none bind,nofail 0 0
|
||||
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/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**
|
||||
@@ -193,10 +204,14 @@ cat /var/lib/nfs/etab
|
||||
```
|
||||
|
||||
```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)
|
||||
/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)
|
||||
/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)
|
||||
/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 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)
|
||||
```
|
||||
|
||||
#### Client(s)
|
||||
@@ -213,10 +228,10 @@ sudo vim /etc/fstab
|
||||
```
|
||||
|
||||
```shell
|
||||
krabs:/export/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:/export/jellystack /nfs/jellystack 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/cloud /nfs/media 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:/srv/nfs4/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
|
||||
|
||||
62
Turing Pi/odroid-hc4.md
Normal file
62
Turing Pi/odroid-hc4.md
Normal file
@@ -0,0 +1,62 @@
|
||||
Odroid HC4
|
||||
===
|
||||
|
||||
[](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 & 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)
|
||||
```
|
||||
|
||||
> Choose OS from the net install-able" image list...
|
||||
66
Turing Pi/webcam.md
Normal file
66
Turing Pi/webcam.md
Normal 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
BIN
bikiniBottom.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 68 KiB |
Reference in New Issue
Block a user