Compare commits
30 Commits
d5ac9cd0bc
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| f984d59bff | |||
| 036ec2e9f3 | |||
| fd7fed3f3e | |||
| 9d84200a3d | |||
| 73ad7b1d8f | |||
| bc6eff61d2 | |||
| 5dc22ef4c0 | |||
| 3c7e026ef3 | |||
| aa08cb17d6 | |||
| e4701b45fe | |||
| 88946739a2 | |||
| 96e3b2971f | |||
| 38684e47e9 | |||
| 6f44d9cfa8 | |||
| e3d39c10fa | |||
| 7022c40f1a | |||
| fa7e23a602 | |||
| 7ac9d4d467 | |||
| f7c65dcb75 | |||
| 5d04e982ee | |||
| a9f5df877d | |||
| 7d45f81200 | |||
| dd8aa60450 | |||
| 8b6f20bc92 | |||
| 2a4f4722e3 | |||
| b61656bec2 | |||
| 5c6b07c16d | |||
| d6d41b50f9 | |||
| d9eca10775 | |||
| 21ce52e22f |
@@ -1,5 +1,5 @@
|
||||
$TTL 3600
|
||||
@ IN SOA dns106.ovh.net. tech.ovh.net. (2076846298 86400 3600 3600000 300)
|
||||
@ IN SOA dns106.ovh.net. tech.ovh.net. (2080297022 86400 3600 3600000 300)
|
||||
IN NS dns106.ovh.net.
|
||||
IN NS ns106.ovh.net.
|
||||
IN MX 100 mx3.mail.ovh.net.
|
||||
@@ -8,9 +8,10 @@ $TTL 3600
|
||||
IN MX 0 mx0.mail.ovh.net.
|
||||
IN A 213.186.33.5
|
||||
IN TXT "v=spf1 include:mx.ovh.com ~all"
|
||||
IN TXT "google-site-verification=j7RPCRYeiAgvZ4uHOD3ZQ4uqi-vPQ-UUmyVD9WXv4t8"
|
||||
IN TXT "1|www.delmar.bzh"
|
||||
IN TXT "openpgp4fpr:E22A8974BD3F45E3A827AEB891AFB168A1EAD35C"
|
||||
IN TXT "google-site-verification=TnvMDaGmjlopLRKrt-mJcJ6tGsE57bTraQy48mcs4mo"
|
||||
IN TXT "google-site-verification=6WENUO2y1QUIY8IuyP70tTkGNhLyQmP_eQuBazpXgRk"
|
||||
IN CAA 0 issue "letsencrypt.org"
|
||||
_acme-challenge.mon 60 IN TXT "KIcXU0JrpELQffhG-D3Jr6-LijjvBBSb06QO1-WrSo8"
|
||||
_autodiscover._tcp IN SRV 0 0 443 pro1.mail.ovh.net.
|
||||
@@ -44,9 +45,10 @@ 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
|
||||
lai IN A 176.188.240.123
|
||||
lghn IN A 176.188.240.123
|
||||
lnk IN A 176.188.240.123
|
||||
lud IN A 176.188.240.123
|
||||
mailbear IN A 176.188.240.123
|
||||
minio IN A 176.188.240.123
|
||||
mmgr IN A 176.188.240.123
|
||||
nds IN A 176.188.240.123
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
Jetson Orin Nano
|
||||
===
|
||||
|
||||
[](./jetson-orin-nano.webp)
|
||||
|
||||
[https://developer.nvidia.com/sdk-manager#host_os_comp_matrix](https://developer.nvidia.com/sdk-manager#host_os_comp_matrix)
|
||||
|
||||
[https://www.jetson-ai-lab.com/tutorials/initial-setup-sdk-manager/](https://www.jetson-ai-lab.com/tutorials/initial-setup-sdk-manager/)
|
||||
|
||||
---
|
||||
|
||||
### Documentation
|
||||
|
||||
[https://developer.nvidia.com/embedded/learn/get-started-jetson-orin-nano-devkit](https://developer.nvidia.com/embedded/learn/get-started-jetson-orin-nano-devkit)
|
||||
|
||||
##### Server World
|
||||
|
||||
[https://www.server-world.info/en/note?os=Debian\_12&p=download&f=1](https://www.server-world.info/en/note?os=Debian_12&p=download&f=1)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
Compute Modules
|
||||
Pine64 SoQuartz (RK3566)
|
||||
===
|
||||
|
||||
### Install OS / headless installation
|
||||
|
||||
#### SoQuartz (RK3566)
|
||||
|
||||
[](./soquartz-cm.webp)
|
||||
|
||||
##### Specifications
|
||||
@@ -96,7 +94,7 @@ sudo vim /etc/update-motd.d/01-cowsay
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo vim ~/local/bin/now
|
||||
sudo vim ~/.local/bin/now
|
||||
```
|
||||
|
||||
```bash
|
||||
@@ -220,7 +218,23 @@ exit 0
|
||||
```bash
|
||||
sudo chmod +x /etc/update-motd.d/01-cowsay
|
||||
|
||||
sudo chmod +x ~/local/bin/now
|
||||
sudo chmod +x ~/.local/bin/now
|
||||
```
|
||||
```bash
|
||||
sudo vim .bashrc
|
||||
```
|
||||
|
||||
```bash
|
||||
...
|
||||
|
||||
|
||||
export PATH="/home/pleb/.local/bin:$PATH"
|
||||
|
||||
# Splash Calendar and time
|
||||
now
|
||||
|
||||
# ASCII Linux distribution display
|
||||
# screenfetch
|
||||
```
|
||||
|
||||
#### Networking
|
||||
@@ -234,96 +248,6 @@ sudo apt install lm-sensors fancontrol read-edid i2c-tools libi2c-dev python3-sm
|
||||
|
||||
sudo sensors-detect
|
||||
```
|
||||
---
|
||||
|
||||
#### Turing RK1 (RK3588)
|
||||
|
||||
[](./turing-rk1-cm.webp)
|
||||
|
||||
##### Specifications
|
||||
|
||||
<table id="bkmrk-instruction-set-armv"><tbody><tr><td>**Instruction Set**</td><td>ARMv8-A (64-bit)</td></tr><tr><td>**OS Support**</td><td>Ubuntu Server 22.04 LTS</td></tr><tr><td>**CPUs**</td><td>8× | 4× ARM Cortex-A76 | 4× ARM Cortex-A55 | DynamIQ</td></tr><tr><td>**GPU**</td><td>G610 GPU
|
||||
Support OpenGLES 1.1, 2.0, and 3.2, OpenCL up to 2.2 and Vulkan1.2
|
||||
Proprietary 2D hardware acceleration engine</td></tr><tr><td>**NPU**</td><td>6 TOPS</td></tr><tr><td>**RAM**</td><td>LPDDR4 up to 32 GB</td></tr><tr><td>**Storage**</td><td>32 G eMMC 5.1, SD 3.0</td></tr><tr><td>**Ethernet**</td><td>1000Mbps</td></tr><tr><td>**USB**</td><td>2x USB 3.0, 2x USB 2.0</td></tr><tr><td>**PCIe**</td><td>PCIe Gen3</td></tr><tr><td>**MIPI**</td><td>4-Lane MIPI-DSI, 4-Lane MIPI-CSI</td></tr><tr><td>**Digital Audio port**</td><td>2× I2S</td></tr><tr><td>**HDMI**</td><td>HDMI 2.1, 8K@60fps</td></tr><tr><td>**Video input port**</td><td>2× MIPI-CSI RX 4× lanes
|
||||
1× MIPI-CSI DPHY RX 4× lanes</td></tr><tr><td>**Display output port**</td><td>1× MIPI-DSI DPHY 2× lanes
|
||||
1× HDMI 2.1
|
||||
1× DP 1.4</td></tr><tr><td>**VPU**</td><td>VPU 2.0, supporting 8K video</td></tr><tr><td>**Video Encoder**</td><td>H264, 8K@30FPS
|
||||
VP9/H265, 8k@60FPS
|
||||
AV1/AVS2, 4k@60FPS</td></tr><tr><td>**Video Decoder**</td><td>H265/H264/VP9/AV1/AVS2 up to 8K@60fps</td></tr><tr><td>**Power**</td><td>5V/3A via USB Type-C</td></tr><tr><td>**Operating Temp**</td><td>-20°C to 70°C</td></tr><tr><td>**Storage Temp**</td><td>-40°C to 85°C</td></tr><tr><td>**Weight**</td><td>17g</td></tr><tr><td>**Form Factor**</td><td>69.6mm x 45mm
|
||||
260-pin SO-DIMM connector</td></tr></tbody></table>
|
||||
|
||||
##### Setup
|
||||
|
||||
[https://joshua-riek.github.io/ubuntu-rockchip-download/boards/turing-rk1.html](https://joshua-riek.github.io/ubuntu-rockchip-download/boards/turing-rk1.html)
|
||||
|
||||
> bob (192.168.1.11) | gary (192.168.1.13) | sandy (192.168.1.14) | sheldon (192.168.1.16) | pearl (192.168.1.19)
|
||||
> pleb / transatlantique
|
||||
|
||||
```bash
|
||||
sudo useradd pleb
|
||||
sudo groupadd sudo
|
||||
sudo usermod -aG sudo pleb
|
||||
|
||||
echo "pleb ALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/pleb
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo hostnamectl set-hostname [hostname]
|
||||
sudo dpkg-reconfigure tzdata
|
||||
|
||||
(. /etc/lsb-release &&
|
||||
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
|
||||
```
|
||||
|
||||
### GPU Drivers
|
||||
```bash
|
||||
cd /usr/lib && sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-x11-wayland-gbm.so
|
||||
|
||||
cd /lib/firmware && sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/firmware/g610/mali_csffw.bin
|
||||
|
||||
sudo apt update && sudo apt install -y mesa-opencl-icd
|
||||
sudo mkdir -p /etc/OpenCL/vendors && echo "/usr/lib/libmali-valhall-g610-g6p0-x11-wayland-gbm.so" | sudo tee /etc/OpenCL/vendors/mali.icd
|
||||
|
||||
sudo apt install -y ocl-icd-opencl-dev
|
||||
sudo apt install -y libxcb-dri2-0 libxcb-dri3-0 libwayland-client0 libwayland-server0 libx11-xcb1
|
||||
sudo apt install -y clinfo vulkan-tools
|
||||
```
|
||||
|
||||
```bash
|
||||
clinfo
|
||||
|
||||
vulkaninfo
|
||||
```
|
||||
|
||||
**PS :** [Ubuntu Pro](https://ubuntu.com/pro/tutorial)
|
||||
|
||||
---
|
||||
|
||||
#### Jetson Orin Nano
|
||||
|
||||
[](./jetson-orin-nano.webp)
|
||||
|
||||
[https://developer.nvidia.com/sdk-manager#host_os_comp_matrix](https://developer.nvidia.com/sdk-manager#host_os_comp_matrix)
|
||||
|
||||
[https://www.jetson-ai-lab.com/tutorials/initial-setup-sdk-manager/](https://www.jetson-ai-lab.com/tutorials/initial-setup-sdk-manager/)
|
||||
|
||||
---
|
||||
|
||||
### Documentation
|
||||
|
||||
[https://docs.turingpi.com](https://docs.turingpi.com)
|
||||
|
||||
[https://developer.nvidia.com/embedded/learn/get-started-jetson-orin-nano-devkit](https://developer.nvidia.com/embedded/learn/get-started-jetson-orin-nano-devkit)
|
||||
|
||||
##### help.turingpi.com
|
||||
|
||||
jme69@pm.me
|
||||
Ln4@iJMNn85h2Xrx
|
||||
|
||||
[https://help.turingpi.com/hc/en-us](https://help.turingpi.com/hc/en-us "https://help.turingpi.com/hc/en-us")
|
||||
|
||||
##### Server World
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
Turing RK1 (RK3588)
|
||||
===
|
||||
|
||||
[](./turing-rk1-cm.webp)
|
||||
|
||||
##### Specifications
|
||||
|
||||
<table id="bkmrk-instruction-set-armv"><tbody><tr><td>**Instruction Set**</td><td>ARMv8-A (64-bit)</td></tr><tr><td>**OS Support**</td><td>Ubuntu Server 22.04 LTS</td></tr><tr><td>**CPUs**</td><td>8× | 4× ARM Cortex-A76 | 4× ARM Cortex-A55 | DynamIQ</td></tr><tr><td>**GPU**</td><td>G610 GPU
|
||||
Support OpenGLES 1.1, 2.0, and 3.2, OpenCL up to 2.2 and Vulkan1.2
|
||||
Proprietary 2D hardware acceleration engine</td></tr><tr><td>**NPU**</td><td>6 TOPS</td></tr><tr><td>**RAM**</td><td>LPDDR4 up to 32 GB</td></tr><tr><td>**Storage**</td><td>32 G eMMC 5.1, SD 3.0</td></tr><tr><td>**Ethernet**</td><td>1000Mbps</td></tr><tr><td>**USB**</td><td>2x USB 3.0, 2x USB 2.0</td></tr><tr><td>**PCIe**</td><td>PCIe Gen3</td></tr><tr><td>**MIPI**</td><td>4-Lane MIPI-DSI, 4-Lane MIPI-CSI</td></tr><tr><td>**Digital Audio port**</td><td>2× I2S</td></tr><tr><td>**HDMI**</td><td>HDMI 2.1, 8K@60fps</td></tr><tr><td>**Video input port**</td><td>2× MIPI-CSI RX 4× lanes
|
||||
1× MIPI-CSI DPHY RX 4× lanes</td></tr><tr><td>**Display output port**</td><td>1× MIPI-DSI DPHY 2× lanes
|
||||
1× HDMI 2.1
|
||||
1× DP 1.4</td></tr><tr><td>**VPU**</td><td>VPU 2.0, supporting 8K video</td></tr><tr><td>**Video Encoder**</td><td>H264, 8K@30FPS
|
||||
VP9/H265, 8k@60FPS
|
||||
AV1/AVS2, 4k@60FPS</td></tr><tr><td>**Video Decoder**</td><td>H265/H264/VP9/AV1/AVS2 up to 8K@60fps</td></tr><tr><td>**Power**</td><td>5V/3A via USB Type-C</td></tr><tr><td>**Operating Temp**</td><td>-20°C to 70°C</td></tr><tr><td>**Storage Temp**</td><td>-40°C to 85°C</td></tr><tr><td>**Weight**</td><td>17g</td></tr><tr><td>**Form Factor**</td><td>69.6mm x 45mm
|
||||
260-pin SO-DIMM connector</td></tr></tbody></table>
|
||||
|
||||
# TuringPi hosts
|
||||
|
||||
## Flash modules
|
||||
|
||||
https://armbian.com/fr
|
||||
|
||||
### First login
|
||||
> root/1234
|
||||
Add pleb user and change password to transatlantique
|
||||
|
||||
### Complete setup
|
||||
|
||||
```bash
|
||||
sudo usermod -aG sudo pleb
|
||||
echo "pleb ALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/pleb
|
||||
|
||||
sudo hostnamectl set-hostname ...
|
||||
|
||||
(. /etc/lsb-release &&
|
||||
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 vim git-all git-lfs curl wget cryptsetup dmsetup open-iscsi screenfetch net-tools open-iscsi python3 python3-pip build-essential libssl-dev libffi-dev python3-dev wireguard
|
||||
|
||||
sudo vim /etc/hosts
|
||||
```
|
||||
|
||||
```
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 <hostname> <hostname>.local
|
||||
|
||||
# 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.15 krabs
|
||||
192.168.1.17 bernie
|
||||
#
|
||||
192.168.1.14 sandy
|
||||
192.168.1.13 gary
|
||||
192.168.1.16 sheldon
|
||||
192.168.1.19 pearl
|
||||
#
|
||||
192.168.1.18 patrick
|
||||
192.168.1.20 karen
|
||||
|
||||
#
|
||||
192.168.1.53 retropie
|
||||
```
|
||||
|
||||
#### On PC
|
||||
|
||||
```bash
|
||||
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>
|
||||
```
|
||||
|
||||
#### On host
|
||||
|
||||
```bash
|
||||
vim .ssh/authorized_keys
|
||||
|
||||
sudo vim /etc/ssh/sshd_config
|
||||
```
|
||||
|
||||
```
|
||||
# ----------------------------------------
|
||||
PasswordAuthentication no
|
||||
PermitEmptyPasswords no
|
||||
# ----------------------------------------
|
||||
```
|
||||
|
||||
```
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBLk24u7FT8PhAdM8EVUFGlOi0hle4CW8L284E1foUhS julien@julien-pc
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE6wr+DUbcfVTltoWT6gbPRY3geUYNhgN7/CLcMaMu0B eliot@toile-win
|
||||
```
|
||||
|
||||
### 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>
|
||||
```
|
||||
|
||||
### UUIDs
|
||||
|
||||
```
|
||||
sandy
|
||||
nvme0n1p1 195a1632-e6b3-41a4-8b2b-eea2fde75cfc
|
||||
sda1 8a758c09-3ad8-4681-bcb0-41ced1d316e1
|
||||
|
||||
gary
|
||||
nvme0n1p1 7395f5ad-c422-4a09-9a1f-5c8bf96b00f5
|
||||
|
||||
sheldon
|
||||
nvme0n1p1 0a52875c-41a6-419f-b322-33ed2cec9717
|
||||
sda1 d4cad1ad-6154-4eb3-b1a1-2c613a6cbe51
|
||||
sdb1 c445f17b-56b0-4606-9d14-db9728da0aa4
|
||||
|
||||
pearl
|
||||
nvme0n1p1 da49c557-732e-4bbc-b002-f9c627e2cf82
|
||||
```
|
||||
|
||||
### Add mount point to fstab
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /mnt/<folder>
|
||||
|
||||
echo "UUID=... /mnt/<folder> ext4 defaults 0 0" | sudo tee -a /etc/fstab
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo mount -a
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
df -h /mnt/<folder>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# ?
|
||||
|
||||
### GPU Drivers
|
||||
```bash
|
||||
cd /usr/lib && sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-x11-wayland-gbm.so
|
||||
|
||||
cd /lib/firmware && sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/firmware/g610/mali_csffw.bin
|
||||
|
||||
sudo apt update && sudo apt install -y mesa-opencl-icd
|
||||
sudo mkdir -p /etc/OpenCL/vendors && echo "/usr/lib/libmali-valhall-g610-g6p0-x11-wayland-gbm.so" | sudo tee /etc/OpenCL/vendors/mali.icd
|
||||
|
||||
sudo apt install -y ocl-icd-opencl-dev
|
||||
sudo apt install -y libxcb-dri2-0 libxcb-dri3-0 libwayland-client0 libwayland-server0 libx11-xcb1
|
||||
sudo apt install -y clinfo vulkan-tools
|
||||
```
|
||||
|
||||
```bash
|
||||
clinfo
|
||||
|
||||
vulkaninfo
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Documentation
|
||||
|
||||
[https://docs.turingpi.com](https://docs.turingpi.com)
|
||||
|
||||
##### help.turingpi.com
|
||||
|
||||
jme69@pm.me
|
||||
Ln4@iJMNn85h2Xrx
|
||||
|
||||
[https://help.turingpi.com/hc/en-us](https://help.turingpi.com/hc/en-us "https://help.turingpi.com/hc/en-us")
|
||||
|
||||
##### Server World
|
||||
|
||||
[https://www.server-world.info/en/note?os=Debian\_12&p=download&f=1](https://www.server-world.info/en/note?os=Debian_12&p=download&f=1)
|
||||
|
||||
+50
-33
@@ -25,7 +25,7 @@ sudo mkdir -p /mnt/<folder>
|
||||
echo "UUID=... /mnt/<folder> ext4 defaults 0 0" | sudo tee -a /etc/fstab
|
||||
```
|
||||
|
||||
#### bob (...)
|
||||
#### bob (mmcblk0 / nvme0n1 / sda / sdb)
|
||||
```
|
||||
# /etc/fstab: static file system information.
|
||||
#
|
||||
@@ -43,51 +43,66 @@ UUID=15c5c8b9-af8d-4d35-bf0b-47443d554971 / ext4 errors=remount
|
||||
UUID=1c99fbca-6863-4f8a-b8da-4bbea3fbe8c9 none swap sw 0 0
|
||||
# nvme
|
||||
UUID=b656c935-5ef2-45a6-894e-c7062a75a862 /mnt/ssd ext4 defaults 0 0
|
||||
/mnt/ssd/var /var none bind
|
||||
/mnt/ssd/tmp /tmp none bind
|
||||
/mnt/ssd/home /home none bind
|
||||
```
|
||||
|
||||
#### carlo (nvme0n1 / sda / sdb) (nfs server --> backups)
|
||||
#### carlo (mmcblk0 / sda )
|
||||
```
|
||||
proc /proc proc defaults 0 0
|
||||
PARTUUID=550961db-01 /boot/firmware vfat defaults 0 2
|
||||
PARTUUID=550961db-02 / ext4 defaults,noatime 0 1
|
||||
# LVM
|
||||
/dev/hdds/data /mnt/data ext4 defaults,nofail,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2
|
||||
# NFS exports
|
||||
/mnt/data/backup /srv/nfs4/backup none bind,nofail 0 0
|
||||
# /etc/fstab: static file system information.
|
||||
#
|
||||
# Use 'blkid' to print the universally unique identifier for a
|
||||
# device; this may be used with UUID= as a more robust way to name devices
|
||||
# that works even if disks are added and removed. See fstab(5).
|
||||
#
|
||||
# systemd generates mount units based on this file, see systemd.mount(5).
|
||||
# Please run 'systemctl daemon-reload' after making changes here.
|
||||
#
|
||||
# <file system> <mount point> <type> <options> <dump> <pass>
|
||||
# / was on /dev/mmcblk0p2 during installation
|
||||
UUID=327ff1db-0f93-49e7-9f80-79964eb2ad02 / ext4 errors=remount-ro 0 1
|
||||
# /boot/efi was on /dev/mmcblk0p1 during installation
|
||||
UUID=B23E-A140 /boot/efi vfat umask=0077 0 1
|
||||
# swap was on /dev/mmcblk0p3 during installation
|
||||
UUID=69691db2-1213-4f0b-8797-a246e6924c4a none swap sw 0 0
|
||||
# ssd
|
||||
UUID=6702c3b0-eb03-4c1f-9ddc-56f4f7736222 /mnt/ssd ext4 defaults 0 0
|
||||
/mnt/ssd/var /var none bind
|
||||
/mnt/ssd/tmp /tmp none bind
|
||||
/mnt/ssd/home /home none bind
|
||||
```
|
||||
|
||||
#### sandy (sda / nvme0n1)
|
||||
#### sandy (nvme0n1 / sda )
|
||||
```
|
||||
# <file system> <mount point> <type> <options> <dump> <fsck>
|
||||
UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1
|
||||
# nvme
|
||||
UUID=e2e3a295-9731-4aa2-996f-c72c2b81f40f /mnt/ssd ext4 defaults 0 0
|
||||
UUID=a92029d5-96be-47f6-8d45-ea81995e0a1b / ext4 defaults,commit=120,errors=remount-ro 0 1
|
||||
tmpfs /tmp tmpfs defaults,nosuid 0 0
|
||||
UUID=195a1632-e6b3-41a4-8b2b-eea2fde75cfc /mnt/ssd ext4 defaults 0 0
|
||||
UUID=8a758c09-3ad8-4681-bcb0-41ced1d316e1 /mnt/hdd ext4 defaults 0 0
|
||||
```
|
||||
|
||||
#### gary (nvme0n1 / sda)
|
||||
#### gary (nvme0n1)
|
||||
```
|
||||
# <file system> <mount point> <type> <options> <dump> <fsck>
|
||||
UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1
|
||||
# nvme
|
||||
UUID=124046b7-f656-4691-933b-4673e5abbb17 /mnt/ssd ext4 defaults 0 0
|
||||
# hdd
|
||||
UUID=deebbc34-ca9b-4752-abfc-89f7ed24bcf1 /mnt/hdd ext4 defaults 0 0
|
||||
UUID=a92029d5-96be-47f6-8d45-ea81995e0a1b / ext4 defaults,commit=120,errors=remount-ro 0 1
|
||||
tmpfs /tmp tmpfs defaults,nosuid 0 0
|
||||
UUID=7395f5ad-c422-4a09-9a1f-5c8bf96b00f5 /mnt/ssd ext4 defaults 0 0
|
||||
```
|
||||
|
||||
#### sheldon (nvme0n1)
|
||||
#### sheldon (nvme0n1 / sda / sdb)
|
||||
```
|
||||
# <file system> <mount point> <type> <options> <dump> <fsck>
|
||||
UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1
|
||||
# nvme
|
||||
UUID=fd0d6603-c6f1-43fe-a993-39f79b4e3eb8 /mnt/ssd ext4 defaults 0 0
|
||||
UUID=a92029d5-96be-47f6-8d45-ea81995e0a1b / ext4 defaults,commit=120,errors=remount-ro 0 1
|
||||
tmpfs /tmp tmpfs defaults,nosuid 0 0
|
||||
UUID=0a52875c-41a6-419f-b322-33ed2cec9717 /mnt/ssd ext4 defaults 0 0
|
||||
# hdds
|
||||
# sda1 d4cad1ad-6154-4eb3-b1a1-2c613a6cbe51
|
||||
# sdb1 c445f17b-56b0-4606-9d14-db9728da0aa4
|
||||
```
|
||||
|
||||
#### pearl (nvme0n1)
|
||||
```
|
||||
# <file system> <mount point> <type> <options> <dump> <fsck>
|
||||
UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1
|
||||
# nvme
|
||||
UUID=6d255d62-eafe-4333-87b0-9e0c6bf6a44d /mnt/ssd ext4 defaults 0 0
|
||||
UUID=a92029d5-96be-47f6-8d45-ea81995e0a1b / ext4 defaults,commit=120,errors=remount-ro 0 1
|
||||
tmpfs /tmp tmpfs defaults,nosuid 0 0
|
||||
UUID=da49c557-732e-4bbc-b002-f9c627e2cf82 /mnt/ssd ext4 defaults 0 0
|
||||
```
|
||||
|
||||
#### krabs (sad / sdb) (nfs server)
|
||||
@@ -111,9 +126,11 @@ UUID=e8d74f7a-642a-486d-92db-d39388d1545f /mnt/ssd ext4 defaults
|
||||
|
||||
#### patrick (nvme0n1)
|
||||
```
|
||||
UUID=0ED4-57AA /config vfat defaults,x-systemd.automount,fmask=0077,dmask=0077 0 2
|
||||
UUID=0ED4-A6E5 /boot/efi vfat defaults,x-systemd.automount,fmask=0077,dmask=0077 0 2
|
||||
UUID=8ac0019e-35c5-4065-828a-804da615ee7a / ext4 defaults 0 1
|
||||
UUID=9C26-3AB6 /config vfat defaults,x-systemd.automount,fmask=0077,dmask=0077 0 2
|
||||
UUID=9C26-8CEE /boot/efi vfat defaults,x-systemd.automount,fmask=0077,dmask=0077 0 2
|
||||
UUID=ce95976e-7c04-4b82-8251-c780b6b3fac1 / ext4 defaults 0 1
|
||||
# NFS
|
||||
krabs:/srv/nfs4/media /nfs/media nfs _netdev,x-systemd.automount,nofail,noatime,nolock,tcp,bg,actimeo=1800
|
||||
```
|
||||
|
||||
#### Check
|
||||
|
||||
+99
-84
@@ -45,6 +45,26 @@ 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>
|
||||
```
|
||||
#### Keys
|
||||
```
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBLk24u7FT8PhAdM8EVUFGlOi0hle4CW8L284E1foUhS julien@julien-pc
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE6wr+DUbcfVTltoWT6gbPRY3geUYNhgN7/CLcMaMu0B eliot@toile-win
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKmttayKqj6Z290hMCc97v4dMZTSUz4lYgXR0NtcRr8U delmar@thinkpad
|
||||
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFlta/YdJ0ztVpZsP/nh37Fn+H5Hxg/Mw+jR91f5Gf08 pleb@bob
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN9mn7tuYWTPLbH2MViAkiKSUkXj4NauCUgzj778LoQ2 pleb@carlo
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKL7A0xvHSfmWo+LUHdWWb03a5NXN1IlbLS5iSHxs3zw pleb@sandy
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHpnC0ftrLwzhsmonDtSvh38Oi5OGe1iOaQjlsm1RlD2 pleb@gary
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII9USnPFJx/PbV+KnlTN4o3f4SwiuHCWaAlE8aKcY4Ne pleb@sheldon
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMrWtBN3yRh3PHG+7UUeRUIvhuMcwtR88FzUn4xS5FyV pleb@pearl
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMfd7PrJ50jHrG6yjIJ5u7jKTyXi9mPn8/oa+HNAVNsf pleb@krabs
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJtrn0Oj2IstMwzheIZcJGBA8RNWTyNtksaK2LhvjNul pleb@bernie
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHh1LTS5PzsQ45xiRbyxBbCurI7JdEpdkCsbx3mlYaaR pleb@patrick
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAaOsYNLsoYcXDV3I7zbJABeIo7CJOdMxUN86rH1/IH9 pleb@karen
|
||||
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCiAt5dNKbcaYmmsMGitBTaYoKkfEMJ5dGBzbSIDF4WdmPQGFmNf3urAxM1MDjlW7ifzfia7I49pc+Sndo0+b/FiS9FIMWwlNmOrr5c24XXZvYhPvk2M9ghEhXgLGDO3N/xPG6M+rrEzeRFXCdlHZuan6/iUdGcDQtgS2q4ciAMCk8V0QptmvWYqgs/CMsnU3WULUA+abKdx605zzG0inF6pNFaIO50mRraPQsWq34SxXknkJnTBHFogj9NyV/Y9BhiKBm3IXn2f9cVK5/+8Af91w5uI07kpLnPXSDkEZFKK4J48dCdDLhOk2H1/PzapkwW5pF8dhBeKVW2W7oyvuWplKj7cS2dS9ODqqae5kgI83IBdOxQ3VONRCHiUVbezREON66xpOncmWq/YhegWCCHviHUzO0DtpxQXPnZTcX6LwiWhZ9vzGdostJ72i2PxtU155S5PBqaXF+u01cbD0yOuA364LIri2mJxgXHqQH6VwgUJYA7G3Ln4KTueHc9oQxZS5+zZA6LfIu0AB0o7RGcvRV2F+434svy9aXceOUQ2n/5qWo6jmqtOsx2IGkiBkCCHBK8G/83mWBWcfbzXdfPDj7a2xeMoiAU5Rr99JIJkiplDMVrR48diGtCxRYjitWUBigbz6Yy0ozowT6TUvK2PaPUgfhxVK2lhi/et37+/w== NVIDIA-SDK-Manager
|
||||
```
|
||||
|
||||
|
||||
===
|
||||
### Map
|
||||
@@ -96,14 +116,14 @@ ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@<hostname>
|
||||
```bash
|
||||
_,met$$$$$gg. pleb@carlo
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 13 trixie
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.12.47+rpt-rpi-v8
|
||||
,$$P' `$$$. Uptime: 6m
|
||||
',$$P ,ggs. `$$b: Packages: 707
|
||||
,g$$P"" """Y$$.". Kernel: x86_64 Linux 6.12.90+deb13.1-amd64
|
||||
,$$P' `$$$. Uptime: 2m
|
||||
',$$P ,ggs. `$$b: Packages: 429
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.37
|
||||
$$P d$' , $$P Disk: 4,2G / 33G (14%)
|
||||
$$: $$. - ,d$$' CPU: ARM Cortex-A72 @ 4x 1,5GHz
|
||||
$$\; Y$b._ _,d$P' GPU:
|
||||
Y$$. `.`"Y$$$$P"' RAM: 358MiB / 7820MiB
|
||||
$$P d$' , $$P Disk: 1,6G / 269G (1%)
|
||||
$$: $$. - ,d$$' CPU: Intel Atom E3950 @ 4x 2GHz [35.0°C]
|
||||
$$\; Y$b._ _,d$P' GPU: HD Graphics 505
|
||||
Y$$. `.`"Y$$$$P"' RAM: 432MiB / 15843MiB
|
||||
`$$b "-.__
|
||||
`Y$$
|
||||
`Y$$.
|
||||
@@ -117,48 +137,45 @@ ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@<hostname>
|
||||
### gary
|
||||
|
||||
```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++.
|
||||
|
||||
_,met$$$$$gg. pleb@gary
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 13 trixie
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.18.35-current-rockchip64
|
||||
,$$P' `$$$. Uptime: 2m
|
||||
',$$P ,ggs. `$$b: Packages: 309
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.37
|
||||
$$P d$' , $$P Disk: 1,7G / 974G (1%)
|
||||
$$: $$. - ,d$$' CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1,8GHz
|
||||
$$\; Y$b._ _,d$P' RAM: 441MiB / 15713MiB
|
||||
Y$$. `.`"Y$$$$P"'
|
||||
`$$b "-.__
|
||||
`Y$$
|
||||
`Y$$.
|
||||
`$$b.
|
||||
`Y$$b.
|
||||
`"Y$b._
|
||||
`""""
|
||||
```
|
||||
|
||||
### sandy
|
||||
|
||||
```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++.
|
||||
_,met$$$$$gg. pleb@sandy
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 13 trixie
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.18.35-current-rockchip64
|
||||
,$$P' `$$$. Uptime: 2m
|
||||
',$$P ,ggs. `$$b: Packages: 309
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.37
|
||||
$$P d$' , $$P Disk: 1,7G / 970G (1%)
|
||||
$$: $$. - ,d$$' CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1,8GHz
|
||||
$$\; Y$b._ _,d$P' RAM: 402MiB / 7683MiB
|
||||
Y$$. `.`"Y$$$$P"'
|
||||
`$$b "-.__
|
||||
`Y$$
|
||||
`Y$$.
|
||||
`$$b.
|
||||
`Y$$b.
|
||||
`"Y$b._
|
||||
`""""
|
||||
```
|
||||
|
||||
### krabs ([NFS Server](https://bookstack.delmar.bzh/books/turing-pi/page/nfs-server "NFS Server"))
|
||||
@@ -186,46 +203,44 @@ ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@<hostname>
|
||||
### sheldon
|
||||
|
||||
```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++.
|
||||
_,met$$$$$gg. pleb@sheldon
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 13 trixie
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.18.35-current-rockchip64
|
||||
,$$P' `$$$. Uptime: 3m
|
||||
',$$P ,ggs. `$$b: Packages: 309
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.37
|
||||
$$P d$' , $$P Disk: 1,7G / 974G (1%)
|
||||
$$: $$. - ,d$$' CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1,8GHz
|
||||
$$\; Y$b._ _,d$P' RAM: 445MiB / 15713MiB
|
||||
Y$$. `.`"Y$$$$P"'
|
||||
`$$b "-.__
|
||||
`Y$$
|
||||
`Y$$.
|
||||
`$$b.
|
||||
`Y$$b.
|
||||
`"Y$b._
|
||||
`""""
|
||||
```
|
||||
|
||||
### pearl
|
||||
```bash
|
||||
./+o+- pleb@pearl
|
||||
yyyyy- -yyyyyy+ OS: Ubuntu 25.10 questing
|
||||
://+//////-yyyyyyo Kernel: aarch64 Linux 6.11.0-1006-rockchip
|
||||
.++ .:/++++++/-.+sss/` Uptime: 1h 36m
|
||||
.:++o: /++++++++/:--:/- Packages: 878
|
||||
o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.37
|
||||
.:+o:+o/. `+sssoo+/ Disk: 3.7G / 29G (14%)
|
||||
.++/+:+oo+o:` /sssooo. CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1.8GHz
|
||||
/+++//+:`oo+o /::--:. GPU:
|
||||
\+/+o+++`o++o ++////. RAM: 550MiB / 15959MiB
|
||||
.++.o+++oo+:` /dddhhh.
|
||||
.+.o+oo:. `oddhhhh+
|
||||
\+.++o+o``-````.:ohdhhhhh+
|
||||
`:o+++ `ohhhhhhhhyo++os:
|
||||
.o:`.syhhhhhhh/.oo++o`
|
||||
/osyyyyyyo++ooo+++/
|
||||
````` +oo+++o\:
|
||||
`oo++.
|
||||
_,met$$$$$gg. pleb@pearl
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 13 trixie
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.18.35-current-rockchip64
|
||||
,$$P' `$$$. Uptime: 3m
|
||||
',$$P ,ggs. `$$b: Packages: 309
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.37
|
||||
$$P d$' , $$P Disk: 1,7G / 952G (1%)
|
||||
$$: $$. - ,d$$' CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1,8GHz
|
||||
$$\; Y$b._ _,d$P' RAM: 473MiB / 15713MiB
|
||||
Y$$. `.`"Y$$$$P"'
|
||||
`$$b "-.__
|
||||
`Y$$
|
||||
`Y$$.
|
||||
`$$b.
|
||||
`Y$$b.
|
||||
`"Y$b._
|
||||
`""""
|
||||
```
|
||||
|
||||
### bernie
|
||||
@@ -256,12 +271,12 @@ ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@<hostname>
|
||||
_,met$$$$$gg. pleb@patrick
|
||||
,g$$$$$$$$$$$$$$$P. OS: Debian 12 bookworm
|
||||
,g$$P"" """Y$$.". Kernel: aarch64 Linux 6.6.89-3-sky1
|
||||
,$$P' `$$$. Uptime: 14m
|
||||
',$$P ,ggs. `$$b: Packages: 1621
|
||||
,$$P' `$$$. Uptime: 3m
|
||||
',$$P ,ggs. `$$b: Packages: 1535
|
||||
`d$$' ,$P"' . $$$ Shell: bash 5.2.15
|
||||
$$P d$' , $$P Disk: 7,2G / 955G (1%)
|
||||
$$P d$' , $$P Disk: 6,1G / 955G (1%)
|
||||
$$: $$. - ,d$$' CPU: CIX P1 CD8180 @ 12x 2,6GHz
|
||||
$$\; Y$b._ _,d$P' RAM: 7166MiB / 31675MiB
|
||||
$$\; Y$b._ _,d$P' RAM: 7265MiB / 31675MiB
|
||||
Y$$. `.`"Y$$$$P"'
|
||||
`$$b "-.__
|
||||
`Y$$
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#### Installation de kubectl
|
||||
Kubernetes (K3Sup)
|
||||
===
|
||||
|
||||
### Installation de kubectl ?
|
||||
|
||||
```bash
|
||||
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
|
||||
@@ -11,7 +14,7 @@ sudo apt-get update
|
||||
sudo apt-get install -y kubectl
|
||||
```
|
||||
|
||||
#### Installation de k3sup :
|
||||
### Installation de k3sup :
|
||||
|
||||
```bash
|
||||
# Avec curl
|
||||
@@ -24,19 +27,6 @@ chmod +x k3sup
|
||||
sudo mv k3sup /usr/local/bin/
|
||||
```
|
||||
|
||||
#### Configuration sudo sans mot de passe :
|
||||
|
||||
```bash
|
||||
# Ajout de l'utilisateur au groupe sudo
|
||||
sudo usermod -aG sudo pleb
|
||||
|
||||
# Configuration pour éviter la saisie de mot de passe
|
||||
# debian
|
||||
echo "pleb ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/pleb
|
||||
# ubuntu
|
||||
echo "pleb ALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/90-cloud-init-users
|
||||
```
|
||||
|
||||
#### Premier déploiement :
|
||||
|
||||
```bash
|
||||
@@ -62,18 +52,31 @@ kubectl get nodes -o wide
|
||||
kubectl get pods -n kube-system
|
||||
```
|
||||
|
||||
#### Validation :
|
||||
#### Setting labels:
|
||||
|
||||
```bash
|
||||
# sudo k3s kubectl label nodes xxx kubernetes.io/role=worker
|
||||
kubectl label nodes gary kubernetes.io/role=worker
|
||||
kubectl label nodes sheldon kubernetes.io/role=worker
|
||||
kubectl label nodes pearl kubernetes.io/role=worker
|
||||
|
||||
# sudo k3s kubectl label nodes sandy node-type=worker
|
||||
kubectl label nodes gary node-type=worker
|
||||
kubectl label nodes sheldon node-type=worker
|
||||
kubectl label nodes pearl node-type=worker
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl get nodes
|
||||
|
||||
NAME STATUS ROLES AGE VERSION
|
||||
gary Ready <none> 77s v1.34.4+k3s1
|
||||
sandy Ready control-plane 39m v1.34.4+k3s1
|
||||
sheldon Ready <none> 48s v1.34.4+k3s1
|
||||
pearl Ready <none> 48s v1.34.4+k3s1
|
||||
```
|
||||
|
||||
```
|
||||
NAME STATUS ROLES AGE VERSION
|
||||
gary Ready worker 82m v1.35.5+k3s1
|
||||
pearl Ready worker 81m v1.35.5+k3s1
|
||||
sandy Ready control-plane 84m v1.35.5+k3s1
|
||||
sheldon Ready worker 82m v1.35.5+k3s1
|
||||
```
|
||||
|
||||
### Helm
|
||||
|
||||
@@ -119,63 +122,6 @@ kubectl --namespace kube-system port-forward $POD_NAME 8080:$CONTAINER_PORT
|
||||
kubectl create token bb-headlamp --namespace kube-system
|
||||
```
|
||||
|
||||
#### [longhorn](https://longhorn.io)
|
||||
|
||||
```bash
|
||||
USER=admin; PASSWORD=v5bB4OQRDfY5tFJ1; echo "${USER}:$(openssl passwd -stdin -apr1 <<< ${PASSWORD})" >> auth
|
||||
|
||||
sudo k3s kubectl -n longhorn-system create secret generic basic-auth --from-file=auth
|
||||
|
||||
vim longhorn-ingress.yml
|
||||
```
|
||||
|
||||
```
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: longhorn-basic-auth-secret
|
||||
namespace: longhorn-system
|
||||
data:
|
||||
users: |2
|
||||
YWRtaW46JGFwcjEkMmp5TzMwYmskRE5IV0VEQW1VQXFVajVGOHNvdXNVMAoK
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: longhorn-basic-auth-middleware
|
||||
spec:
|
||||
basicAuth:
|
||||
secret: longhorn-basic-auth-secret
|
||||
realm: "Longhorn Dashboard"
|
||||
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: longhorn-ingress
|
||||
namespace: longhorn-system
|
||||
annotations:
|
||||
spec.ingressClassName: traefik
|
||||
traefik.ingress.kubernetes.io/router.middlewares: longhorn-system-longhorn-basic-auth-middleware@kubernetescrd
|
||||
spec:
|
||||
rules:
|
||||
- http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: "/"
|
||||
backend:
|
||||
service:
|
||||
name: longhorn-frontend
|
||||
port:
|
||||
number: 80
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo k3s kubectl -n longhorn-system apply -f longhorn-ingress.yml
|
||||
```
|
||||
|
||||
#### metallb
|
||||
|
||||
```bash
|
||||
@@ -213,7 +159,7 @@ metadata:
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
addresses:
|
||||
- 192.168.1.21-192.168.1.40
|
||||
- 192.168.1.21-192.168.1.30
|
||||
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
@@ -326,3 +272,104 @@ spec:
|
||||
```bash
|
||||
sudo k3s kubectl -n kube-system apply -f traefik-ingress.yml
|
||||
```
|
||||
|
||||
#### [longhorn](https://longhorn.io)
|
||||
|
||||
```bash
|
||||
helm repo add longhorn https://charts.longhorn.io
|
||||
helm repo update
|
||||
kubectl create namespace longhorn-system
|
||||
helm install longhorn longhorn/longhorn --namespace longhorn-system
|
||||
|
||||
USER=admin; PASSWORD=v5bB4OQRDfY5tFJ1; echo "${USER}:$(openssl passwd -stdin -apr1 <<< ${PASSWORD})" >> auth
|
||||
|
||||
kubectl -n longhorn-system create secret generic basic-auth --from-file=auth
|
||||
|
||||
vim longhorn/longhorn-middelwares.yaml
|
||||
````
|
||||
|
||||
```
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: longhorn-auth
|
||||
namespace: longhorn-system
|
||||
spec:
|
||||
basicAuth:
|
||||
secret: basic-auth
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: longhorn-buffering
|
||||
namespace: longhorn-system
|
||||
spec:
|
||||
buffering:
|
||||
# Allows backing image uploads up to 10,000MB
|
||||
maxRequestBodyBytes: 10485760000
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl apply -f longhorn-middlewares.yml
|
||||
```
|
||||
|
||||
```bash
|
||||
vim longhorn/longhorn-ingress.yaml
|
||||
```
|
||||
|
||||
```
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: longhorn-ingress
|
||||
namespace: longhorn-system
|
||||
annotations:
|
||||
# Connect the middlewares defined in step 2
|
||||
traefik.ingress.kubernetes.io/router.middlewares:
|
||||
longhorn-system-longhorn-auth@kubernetescrd,
|
||||
longhorn-system-longhorn-buffering@kubernetescrd
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: longhorn-frontend
|
||||
port:
|
||||
number: 80
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl -n longhorn-system get pod
|
||||
|
||||
kubectl get storageclass
|
||||
```
|
||||
|
||||
```
|
||||
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
|
||||
local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 93m
|
||||
longhorn (default) driver.longhorn.io Delete Immediate true 59m
|
||||
longhorn-static driver.longhorn.io Delete Immediate true 59m
|
||||
```
|
||||
|
||||
##### Unset default for "local-path" (emmc)
|
||||
|
||||
```bash
|
||||
kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
|
||||
```
|
||||
|
||||
##### Mark longhorn as "default"
|
||||
|
||||
```bash
|
||||
kubectl patch storageclass longhorn -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
|
||||
```
|
||||
|
||||
##### Apply ingress
|
||||
```bash
|
||||
kubectl -n longhorn-system apply -f longhorn/longhorn-ingress.yaml
|
||||
|
||||
kubectl -n longhorn-system get ingress
|
||||
```
|
||||
@@ -1,517 +0,0 @@
|
||||
# Kubernetes
|
||||
|
||||
## 1. Compute Modules
|
||||
|
||||
### Install OS / headless installation
|
||||
|
||||
1. Flash the Plebian image to a SD card/ EMMC.
|
||||
2. Boot.
|
||||
3. ssh as "pleb/pleb" and complete setup
|
||||
|
||||
```bash
|
||||
sudo useradd pleb
|
||||
sudo groupadd sudo
|
||||
sudo usermod -aG sudo pleb
|
||||
|
||||
# Configuration pour éviter la saisie de mot de passe
|
||||
# debian
|
||||
echo "pleb ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/pleb
|
||||
# ubuntu
|
||||
echo "pleb ALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/90-cloud-init-users
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt install -y curl
|
||||
|
||||
# curl -O https://overviewer.org/~pillow/up/75bea78e59/devicetrees-plebian-quartz64-20230601130309-arm64.deb
|
||||
# sudo dpkg -i devicetrees-plebian-quartz64-20230601130309-arm64.deb
|
||||
# sudo sysctl -w net.core.rmem_max=2500000
|
||||
|
||||
sudo apt update && sudo apt -y upgrade
|
||||
|
||||
sudo hostnamectl set-hostname < hostname >
|
||||
|
||||
sudo apt install -y git wget screenfetch net-tools open-iscsi python3 python3-pip build-essential libssl-dev libffi-dev python3-dev
|
||||
|
||||
# sudo apt install -y docker docker-compose
|
||||
```
|
||||
|
||||
#### Reboot
|
||||
|
||||
```bash
|
||||
sudo mkfs.ext4 /dev/nvme0n1
|
||||
|
||||
sudo mkdir -p /mnt/ssd
|
||||
|
||||
sudo blkid -s UUID -o value /dev/nvme0n1
|
||||
|
||||
> sandy UUID=e2e3a295-9731-4aa2-996f-c72c2b81f40f
|
||||
|
||||
> gary UUID=124046b7-f656-4691-933b-4673e5abbb17
|
||||
|
||||
> sheldon UUID=fd0d6603-c6f1-43fe-a993-39f79b4e3eb8
|
||||
|
||||
> pearl UUID=6d255d62-eafe-4333-87b0-9e0c6bf6a44d
|
||||
|
||||
echo "UUID=... /mnt/ssd ext4 defaults 0 0" | sudo tee -a /etc/fstab
|
||||
|
||||
cat /etc/fstab
|
||||
|
||||
sudo mount -a
|
||||
sudo systemctl daemon-reload
|
||||
df -h /mnt/ssd
|
||||
```
|
||||
|
||||
`sudo vim /etc/hosts`
|
||||
|
||||
```
|
||||
# ----------------------------------------
|
||||
# Host addresses
|
||||
127.0.0.1 localhost
|
||||
# Nodes
|
||||
192.168.1.13 gary gary.local
|
||||
192.168.1.14 sandy sandy.local
|
||||
192.168.1.16 sheldon sheldon.local
|
||||
192.168.1.19 pearl pearl.local
|
||||
# ----------------------------------------
|
||||
```
|
||||
|
||||
#### On remote (PC) :
|
||||
|
||||
```bash
|
||||
ssh-keygen -t ed25519
|
||||
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@gary
|
||||
ssh pleb@gary
|
||||
|
||||
vim /etc/ssh/sshd_config
|
||||
```
|
||||
|
||||
```
|
||||
# ----------------------------------------
|
||||
PasswordAuthentication no
|
||||
# ----------------------------------------
|
||||
```
|
||||
|
||||
#### Restart service
|
||||
|
||||
```bash
|
||||
sudo systemctl restart sshd
|
||||
```
|
||||
|
||||
#### On sandy :
|
||||
|
||||
```bash
|
||||
ssh-keygen -t ed25519
|
||||
|
||||
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@gary
|
||||
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@sandy
|
||||
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub plebsheldon
|
||||
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@pearl
|
||||
|
||||
ssh pleb@sandy
|
||||
ssh pleb@sheldon
|
||||
ssh pleb@pearl
|
||||
|
||||
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
||||
python3 get-pip.py --user
|
||||
|
||||
python3 -m pip install --user ansible
|
||||
```
|
||||
|
||||
`vim hosts.ini`
|
||||
|
||||
```ini
|
||||
[master]
|
||||
sandy ansible_connection=local
|
||||
|
||||
[workers]
|
||||
gary ansible_connection=ssh
|
||||
sheldon ansible_connection=ssh
|
||||
pearl ansible_connection=ssh
|
||||
|
||||
[k3s_cluster:children]
|
||||
master
|
||||
workers
|
||||
```
|
||||
|
||||
## UFW
|
||||
|
||||
```bash
|
||||
sudo apt install -y ufw
|
||||
|
||||
sudo ufw allow "OpenSSH"
|
||||
sudo ufw enable
|
||||
|
||||
sudo ufw allow 6443/tcp
|
||||
sudo ufw allow 2379:2380/tcp
|
||||
sudo ufw allow 10250/tcp
|
||||
sudo ufw allow 10259/tcp
|
||||
sudo ufw allow 10257/tcp
|
||||
|
||||
sudo ufw allow 179/tcp
|
||||
sudo ufw allow 4789/udp
|
||||
sudo ufw allow 4789/tcp
|
||||
sudo ufw allow 2379/tcp
|
||||
|
||||
sudo ufw allow 30000:32767/tcp
|
||||
|
||||
sudo ufw status
|
||||
```
|
||||
|
||||
```bash
|
||||
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get install ca-certificates curl gnupg
|
||||
|
||||
sudo install -m 0755 -d /etc/apt/keyrings
|
||||
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
|
||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
|
||||
echo \
|
||||
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
|
||||
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
|
||||
sudo service docker start
|
||||
|
||||
sudo docker run hello-world
|
||||
|
||||
sudo chmod 666 /var/run/docker.sock
|
||||
|
||||
sudo groupadd docker
|
||||
|
||||
sudo usermod -aG docker $USER
|
||||
|
||||
sudo systemctl enable docker.service
|
||||
sudo systemctl enable containerd.service
|
||||
```
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ee:latest
|
||||
```
|
||||
|
||||
## 2. Install Kubernetes (via Ansible)
|
||||
|
||||
### k3s-ansible
|
||||
|
||||
#### Install Ansible
|
||||
|
||||
- [https://wiki.archlinux.org/title/Ansible#Installation](https://wiki.archlinux.org/title/Ansible#Installation "https://wiki.archlinux.org/title/Ansible#Installation")
|
||||
- [https://docs.ansible.com/ansible/latest/installation\_guide/index.html](https://docs.ansible.com/ansible/latest/installation_guide/index.html "https://docs.ansible.com/ansible/latest/installation_guide/index.html")
|
||||
|
||||
#### On remote (PC):
|
||||
|
||||
`apt install -y ansible`
|
||||
|
||||
#### Clone Git repo : [https://github.com/k3s-io/k3s-ansible](https://github.com/k3s-io/k3s-ansible "https://github.com/k3s-io/k3s-ansible")
|
||||
|
||||
```bash
|
||||
cd www
|
||||
|
||||
git clone https://github.com/k3s-io/k3s-ansible.git
|
||||
|
||||
cp -R k3s-ansible/inventory-sample.yml k3s-ansible/inventory/bikiniBottom.yaml
|
||||
```
|
||||
|
||||
`vim www/k3s-ansible/inventory/bikiniBottom.yaml`
|
||||
|
||||
```ini
|
||||
[master]
|
||||
192.168.1.14 ansible_connection=ssh var_hostname=sandy var_disk=nvme0n1 var_uuid=e2e3a295-9731-4aa2-996f-c72c2b81f40f
|
||||
|
||||
[workers]
|
||||
192.168.1.13 ansible_connection=ssh var_hostname=gary var_disk=nvme0n1 var_uuid=124046b7-f656-4691-933b-4673e5abbb17
|
||||
192.168.1.16 ansible_connection=ssh var_hostname=shedon var_disk=nvme0n1 var_uuid=fd0d6603-c6f1-43fe-a993-39f79b4e3eb8
|
||||
192.168.1.19 ansible_connection=ssh var_hostname=pearl var_disk=nvme0n1 var_uuid=6d255d62-eafe-4333-87b0-9e0c6bf6a44d
|
||||
|
||||
[k3s_cluster:children]
|
||||
master
|
||||
workers
|
||||
```
|
||||
|
||||
`vim www/k3s-ansible/inventory/sandy/group_vars/all.yml`
|
||||
|
||||
> > change ansible\_user to pleb
|
||||
|
||||
#### Install playbook
|
||||
|
||||
```bash
|
||||
ansible -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml k3s_cluster -m ping
|
||||
ansible -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml k3s_cluster -m apt -a "name=iptables state=present" --become
|
||||
ansible-playbook ~/delmar.bzh/ansible/k3s-ansible/playbooks/site.yml -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml
|
||||
```
|
||||
|
||||
#### On master:
|
||||
|
||||
```bash
|
||||
sudo chmod 644 /etc/rancher/k3s/k3s.yaml
|
||||
|
||||
mkdir ~/.kube
|
||||
$ sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
|
||||
$ sudo chown $USER: ~/.kube/config
|
||||
$ export KUBECONFIG=~/.kube/config
|
||||
```
|
||||
|
||||
#### On PC :
|
||||
|
||||
```bash
|
||||
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
||||
|
||||
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
|
||||
|
||||
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
|
||||
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
kubectl version --client
|
||||
|
||||
scp pleb@sandy:~/.kube/config ~/.kube/config
|
||||
|
||||
export KUBECONFIG=~/.kube/config
|
||||
|
||||
kubectl get nodes
|
||||
|
||||
kubectl cluster-info
|
||||
```
|
||||
|
||||
#### Setting labels:
|
||||
|
||||
```bash
|
||||
# sudo k3s kubectl label nodes xxx kubernetes.io/role=worker
|
||||
sudo k3s kubectl label nodes gary kubernetes.io/role=worker
|
||||
sudo k3s kubectl label nodes sheldon kubernetes.io/role=worker
|
||||
sudo k3s kubectl label nodes pearl kubernetes.io/role=worker
|
||||
|
||||
# sudo k3s kubectl label nodes sandy node-type=worker
|
||||
sudo k3s kubectl label nodes gary node-type=worker
|
||||
sudo k3s kubectl label nodes sheldon node-type=worker
|
||||
sudo k3s kubectl label nodes pearl node-type=worker
|
||||
```
|
||||
|
||||
#### ! Ping !
|
||||
|
||||
`ansible -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml k3s_cluster -m ping`
|
||||
|
||||
#### ! Reset !
|
||||
|
||||
```bash
|
||||
ansible-playbook ~/delmar.bzh/ansible/k3s-ansible/reset.yml -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml
|
||||
```
|
||||
|
||||
#### ! Restart !
|
||||
|
||||
`ansible all -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml -a "shutdown -r now" -b`
|
||||
|
||||
## 3. Helm
|
||||
|
||||
#### On master
|
||||
|
||||
```bash
|
||||
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
|
||||
chmod 700 get_helm.sh
|
||||
./get_helm.sh
|
||||
helm version
|
||||
```
|
||||
|
||||
## 4. MetalLb
|
||||
|
||||
```bash
|
||||
helm repo add metallb https://metallb.github.io/metallb
|
||||
helm search repo metallb
|
||||
helm upgrade --install metallb metallb/metallb --create-namespace --namespace metallb-system --wait
|
||||
```
|
||||
|
||||
```bash
|
||||
cat << 'EOF' | kubectl apply -f -
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: IPAddressPool
|
||||
metadata:
|
||||
name: default-pool
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
addresses:
|
||||
- 192.168.1.21-192.168.1.49
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: L2Advertisement
|
||||
metadata:
|
||||
name: default
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
ipAddressPools:
|
||||
- default-pool
|
||||
EOF
|
||||
```
|
||||
|
||||
## 5. Local Storage Provider (Longhorn)
|
||||
|
||||
```bash
|
||||
sudo systemctl enable iscsid.service
|
||||
sudo systemctl start iscsid.service
|
||||
|
||||
ansible -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml k3s_cluster -b -m apt -a "name=nfs-common state=present"
|
||||
ansible -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml k3s_cluster -b -m apt -a "name=open-iscsi state=present"
|
||||
ansible -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml k3s_cluster -b -m apt -a "name=util-linux state=present"
|
||||
```
|
||||
|
||||
```bash
|
||||
ansible -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml k3s_cluster -b -m shell -a "lsblk -f"
|
||||
ansible -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml k3s_cluster -b -m shell -a "blkid -s UUID -o value /dev/nvme0n1"
|
||||
```
|
||||
|
||||
#### Ansible mount:
|
||||
|
||||
```bash
|
||||
ansible -i ~/delmar.bzh/ansible/k3s-ansible/inventory/bikiniBottom.yaml k3s_cluster -m ansible.posix.mount -a "path=/mnt/ssd src=UUID={{ var_uuid }} fstype=ext4 state=mounted" -b
|
||||
```
|
||||
|
||||
### Longhorn
|
||||
|
||||
```bash
|
||||
helm repo add longhorn https://charts.longhorn.io
|
||||
|
||||
helm repo update
|
||||
|
||||
helm install longhorn longhorn/longhorn --namespace longhorn-system --create-namespace --version 1.4.2 --set defaultSettings.defaultDataPath="/mnt/ssd" --set service.ui.loadBalancerIP="192.168.1.23" --set service.ui.type="LoadBalancer"
|
||||
|
||||
sudo k3s kubectl -n longhorn-system get pod
|
||||
|
||||
sudo k3s kubectl get storageclass
|
||||
```
|
||||
|
||||
- local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 111m
|
||||
- longhorn (default) driver.longhorn.io Delete Immediate true 65m Mark as "non-default"
|
||||
|
||||
```bash
|
||||
sudo k3s kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
|
||||
```
|
||||
|
||||
Mark as "default"
|
||||
|
||||
```bash
|
||||
kubectl patch storageclass longhorn -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
|
||||
```
|
||||
|
||||
#### UI
|
||||
|
||||
##### Option 1 : ingress ?
|
||||
|
||||
```bash
|
||||
USER=admin; PASSWORD=v5bB4OQRDfY5tFJ1; echo "${USER}:$(openssl passwd -stdin -apr1 <<< ${PASSWORD})" >> auth
|
||||
sudo k3s kubectl -n longhorn-system create secret generic basic-auth --from-file=auth
|
||||
```
|
||||
|
||||
`vim longhorn-ingress.yml`
|
||||
|
||||
```yaml
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: longhorn-ingress
|
||||
namespace: longhorn-system
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/auth-type: basic
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: 'false'
|
||||
nginx.ingress.kubernetes.io/auth-secret: basic-auth
|
||||
nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required '
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: 10000m
|
||||
spec:
|
||||
rules:
|
||||
- http:
|
||||
paths:
|
||||
- pathType: Prefix
|
||||
path: "/"
|
||||
backend:
|
||||
service:
|
||||
name: longhorn-frontend
|
||||
port:
|
||||
number: 80
|
||||
```
|
||||
|
||||
```yaml
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: longhorn-ingress
|
||||
namespace: longhorn-system
|
||||
annotations:
|
||||
# add an annotation indicating the issuer to use
|
||||
cert-manager.io/cluster-issuer: letsencrypt-staging
|
||||
spec:
|
||||
rules:
|
||||
- host: lghn.delmar.bzh
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
backend:
|
||||
serviceName: longhorn-frontend
|
||||
servicePort: 8090
|
||||
tls:
|
||||
- # cert-manager will store the certificate and key in this secret
|
||||
secretName: lghn-delmar-bzh-cert
|
||||
hosts:
|
||||
- lghn.delmar.bzh
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo k3s kubectl -n longhorn-system apply -f longhorn-ingress.yml
|
||||
sudo k3s kubectl -n longhorn-system get ingress
|
||||
```
|
||||
|
||||
##### Option 2 : caddy
|
||||
|
||||
```bash
|
||||
sudo caddy hash-password
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo vim /etc/caddy/Caddyfile
|
||||
```
|
||||
|
||||
```
|
||||
lghn.delmar.bzh {
|
||||
encode {
|
||||
zstd
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy 192.168.1.23
|
||||
basic_auth / {
|
||||
admin $2a$14$RsUJ13kC9DcRMoQa8hlmNOljcXGMSem.1XwYFeV1El8Drw7DIJbVu
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 6. HAProxy
|
||||
|
||||
```bash
|
||||
helm repo add haproxytech https://haproxytech.github.io/helm-charts
|
||||
|
||||
helm install haproxy haproxytech/kubernetes-ingress -n kube-system \
|
||||
--set controller.service.nodePorts.http=30000 \
|
||||
--set controller.service.nodePorts.https=30001 \
|
||||
--set controller.service.nodePorts.stat=30002 \
|
||||
--set controller.service.type=LoadBalancer
|
||||
```
|
||||
|
||||
## 7. Services
|
||||
|
||||
...
|
||||
|
||||
## Uninstall
|
||||
|
||||
> On master:
|
||||
|
||||
`/usr/local/bin/k3s-uninstall.sh`
|
||||
|
||||
> On workers:
|
||||
|
||||
`/usr/local/bin/k3s-agent-uninstall.sh`
|
||||
+14
-12
@@ -4,8 +4,10 @@
|
||||
|
||||
<div class="table-wrapper" id="bkmrk-name-maj%3Amin-rm-size"><table><tbody><tr><th colspan="1" rowspan="1">NAME</th><th colspan="1" rowspan="1">MAJ:MIN</th><th colspan="1" rowspan="1">RM</th><th colspan="1" rowspan="1">SIZE</th><th colspan="1" rowspan="1">RO</th><th colspan="1" rowspan="1">TYPE</th><th colspan="1" rowspan="1">MOUNTPOINTS</th></tr><tr><td colspan="1" rowspan="1">sdb</td><td colspan="1" rowspan="1">8:16</td><td colspan="1" rowspan="1">0</td><td colspan="1" rowspan="1">3.6T</td><td colspan="1" rowspan="1">0</td><td colspan="1" rowspan="1">disk</td><td colspan="1" rowspan="1"> </td></tr><tr><td colspan="1" rowspan="1">└─ hdds-datas</td><td colspan="1" rowspan="1">253:0</td><td colspan="1" rowspan="1">0</td><td colspan="1" rowspan="1">7.3T</td><td colspan="1" rowspan="1">0</td><td colspan="1" rowspan="1">lvm</td><td colspan="1" rowspan="1">/export/media</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">/srv/dev-disk-by-uuid-a67ae390-f36c-4b7c-98a0-4a3b5601c107</td></tr><tr><td colspan="1" rowspan="1">sdc</td><td colspan="1" rowspan="1">8:32</td><td colspan="1" rowspan="1">0</td><td colspan="1" rowspan="1">3.6T</td><td colspan="1" rowspan="1">0</td><td colspan="1" rowspan="1">disk</td><td colspan="1" rowspan="1"> </td></tr><tr><td colspan="1" rowspan="1">└─ hdds-datas</td><td colspan="1" rowspan="1">253:0</td><td colspan="1" rowspan="1">0</td><td colspan="1" rowspan="1">7.3T</td><td colspan="1" rowspan="1">0</td><td colspan="1" rowspan="1">lvm</td><td colspan="1" rowspan="1">/export/media</td></tr><tr><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1"> </td><td colspan="1" rowspan="1">/srv/dev-disk-by-uuid-a67ae390-f36c-4b7c-98a0-4a3b5601c107</td></tr></tbody></table>
|
||||
|
||||
</div>```bash
|
||||
apt install -y lvm2
|
||||
</div>
|
||||
|
||||
```bash
|
||||
sudo apt install -y lvm2
|
||||
```
|
||||
|
||||
### Disks
|
||||
@@ -40,20 +42,20 @@ I/O size (minimum/optimal): 4096 bytes / 4096 bytes
|
||||
#### Physical Volumes (partitions)
|
||||
|
||||
```
|
||||
pvcreate /dev/sdb
|
||||
pvcreate /dev/sdc
|
||||
pvcreate /dev/sdX
|
||||
pvcreate /dev/sdY
|
||||
```
|
||||
|
||||
#### Volume Group
|
||||
|
||||
```
|
||||
vgcreate hdds /dev/sdb /dev/sdc
|
||||
vgcreate hdds /dev/sdX /dev/sdY
|
||||
```
|
||||
|
||||
#### Logical Volume(s)
|
||||
|
||||
```
|
||||
lvcreate --extents 100%FREE -n datas hdds
|
||||
lvcreate --extents 100%FREE -n <volume_name> hdds
|
||||
```
|
||||
|
||||
```
|
||||
@@ -62,7 +64,7 @@ pvdisplay
|
||||
|
||||
```
|
||||
--- Physical volume ---
|
||||
PV Name /dev/sdb
|
||||
PV Name /dev/sdX
|
||||
VG Name hdds
|
||||
PV Size <3.64 TiB / not usable <3.84 MiB
|
||||
Allocatable yes (but full)
|
||||
@@ -73,7 +75,7 @@ Allocated PE 953861
|
||||
PV UUID zHiPKx-t2BO-15r3-xPfQ-DPlB-7K40-YxIdM1
|
||||
|
||||
--- Physical volume ---
|
||||
PV Name /dev/sdc
|
||||
PV Name /dev/sdY
|
||||
VG Name hdds
|
||||
PV Size <3.64 TiB / not usable <3.84 MiB
|
||||
Allocatable yes (but full)
|
||||
@@ -117,7 +119,7 @@ lvdisplay
|
||||
|
||||
```
|
||||
--- Logical volume ---
|
||||
LV Path /dev/hdds/datas
|
||||
LV Path /dev/hdds/<volume_name>
|
||||
LV Name data
|
||||
VG Name hdds
|
||||
LV UUID qgdjwr-9Aau-p4mj-rksl-IeBB-SjD1-z6hede
|
||||
@@ -136,7 +138,7 @@ Block device 254:0
|
||||
|
||||
#### Format LV
|
||||
```bash
|
||||
sudo mkfs.ext4 /dev/hdds/datas
|
||||
sudo mkfs.ext4 /dev/hdds/<volume_name>
|
||||
```
|
||||
|
||||
### NFS
|
||||
@@ -175,7 +177,7 @@ sudo systemctl restart nfs-server
|
||||
##### Get LVM's UUID
|
||||
|
||||
```bash
|
||||
sudo blkid -s UUID -o value /dev/mapper/hdds-datas
|
||||
sudo blkid -s UUID -o value /dev/mapper/hdds-<volume_name>
|
||||
```
|
||||
|
||||
##### Mount LVM
|
||||
@@ -187,7 +189,7 @@ sudo vim /etc/fstab
|
||||
```
|
||||
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
|
||||
UUID=... /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
|
||||
|
||||
+105
-1
@@ -37,7 +37,7 @@ deb-src http://deb.debian.org/debian/ trixie-updates main contrib non-free-firmw
|
||||
### Refresh package index and install ZFS
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt install linux-headers-6.12.85+deb13-amd64 zfsutils-linux -y
|
||||
sudo apt update && sudo apt install linux-headers-$(uname -r) zfsutils-linux -y
|
||||
|
||||
sudo modprobe zfs
|
||||
|
||||
@@ -149,3 +149,107 @@ sudo systemctl enable zfs-import-cache
|
||||
PS : on Debian, the installation of zfs-zed may already set up the necessary services.
|
||||
|
||||
You can configure /etc/zfs/zfs-list.cache (automatically generated) for faster mounting.
|
||||
|
||||
---
|
||||
|
||||
### Querying ZFS File System Information
|
||||
|
||||
The zfs list command provides an extensible mechanism for viewing and querying dataset information. Both basic and complex queries are explained in this section.
|
||||
|
||||
#### Listing Basic ZFS Information
|
||||
|
||||
You can list basic dataset information by using the zfs list command with no options. This command displays the names of all datasets on the system and the values of their used, available, referenced, and mountpoint properties. For more information about these properties, see [Introducing ZFS Properties](https://docs.oracle.com/cd/E18752_01/html/819-5461/gazsu.htmlgazss.html).
|
||||
|
||||
For example:
|
||||
|
||||
```
|
||||
# <b>zfs list</b>
|
||||
NAME USED AVAIL REFER MOUNTPOINT
|
||||
pool 476K 16.5G 21K /pool
|
||||
pool/clone 18K 16.5G 18K /pool/clone
|
||||
pool/home 296K 16.5G 19K /pool/home
|
||||
pool/home/marks 277K 16.5G 277K /pool/home/marks
|
||||
pool/home/marks@snap 0 - 277K -
|
||||
pool/test 18K 16.5G 18K /test
|
||||
```
|
||||
|
||||
You can also use this command to display specific datasets by providing the dataset name on the command line. Additionally, use the \-r option to recursively display all descendents of that dataset. For example:
|
||||
|
||||
```
|
||||
# <b>zfs list -r pool/home/marks</b>
|
||||
NAME USED AVAIL REFER MOUNTPOINT
|
||||
pool/home/marks 277K 16.5G 277K /pool/home/marks
|
||||
pool/home/marks@snap 0 - 277K -
|
||||
```
|
||||
|
||||
You can use the zfs list command with the mount point of a file system. For example:
|
||||
|
||||
```
|
||||
# <b>zfs list /pool/home/marks</b>
|
||||
NAME USED AVAIL REFER MOUNTPOINT
|
||||
pool/home/marks 277K 16.5G 277K /pool/home/marks
|
||||
```
|
||||
|
||||
The following example shows how to display basic information about tank/home/chua and all of its descendent datasets:
|
||||
|
||||
```
|
||||
# <b>zfs list -r tank/home/chua</b>
|
||||
NAME USED AVAIL REFER MOUNTPOINT
|
||||
tank/home/chua 26.0K 4.81G 10.0K /tank/home/chua
|
||||
tank/home/chua/projects 16K 4.81G 9.0K /tank/home/chua/projects
|
||||
tank/home/chua/projects/fs1 8K 4.81G 8K /tank/home/chua/projects/fs1
|
||||
tank/home/chua/projects/fs2 8K 4.81G 8K /tank/home/chua/projects/fs2
|
||||
```
|
||||
|
||||
For additional information about the zfs list command, see [zfs(1M)](https://docs.oracle.com/cd/E18752_01/html/819-5461/gazsu.html../816-5166/zfs-1m.html#REFMAN1Mzfs-1m).
|
||||
|
||||
#### Creating Complex ZFS Queries
|
||||
|
||||
The zfs list output can be customized by using the \-o, \-t, and \-H options.
|
||||
|
||||
You can customize property value output by using the \-o option and a comma-separated list of desired properties. You can supply any dataset property as a valid argument. For a list of all supported dataset properties, see [Introducing ZFS Properties](https://docs.oracle.com/cd/E18752_01/html/819-5461/gazsu.htmlgazss.html). In addition to the properties defined, the \-o option list can also contain the literal name to indicate that the output should include the name of the dataset.
|
||||
|
||||
The following example uses zfs list to display the dataset name, along with the sharenfs and mountpoint property values.
|
||||
|
||||
```
|
||||
# <b>zfs list -o name,sharenfs,mountpoint</b>
|
||||
NAME SHARENFS MOUNTPOINT
|
||||
tank off /tank
|
||||
tank/home on /tank/home
|
||||
tank/home/ahrens on /tank/home/ahrens
|
||||
tank/home/bonwick on /tank/home/bonwick
|
||||
tank/home/chua on /tank/home/chua
|
||||
tank/home/eschrock on legacy
|
||||
tank/home/moore on /tank/home/moore
|
||||
tank/home/tabriz ro /tank/home/tabriz
|
||||
```
|
||||
|
||||
You can use the \-t option to specify the types of datasets to display. The valid types are described in the following table.
|
||||
|
||||
**Table 6-2 Types of ZFS Datasets**
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" class="dkgrey1" width="100%"><tbody><tr><td><table border="0" cellpadding="0" cellspacing="1" width="100%" class="vatop"><colgroup><col width="29%"><col width="70%"></colgroup><tbody><tr><th class="columncaption" align="left" valign="top"><div class="headerpadding">Type</div></th><th class="columncaption" align="left" valign="top"><div class="headerpadding">Description</div></th></tr><tr class="yellow2"><td align="left" valign="top"><div class="pad5x10"><tt>filesystem</tt></div></td><td align="left" valign="top"><div class="pad5x10">File systems and clones</div></td></tr><tr class="yellow2"><td align="left" valign="top"><div class="pad5x10"><tt>volume</tt></div></td><td align="left" valign="top"><div class="pad5x10">Volumes</div></td></tr><tr class="yellow2"><td align="left" valign="top"><div class="pad5x10"><tt>snapshot</tt></div></td><td align="left" valign="top"><div class="pad5x10">Snapshots</div></td></tr></tbody></table></td></tr></tbody></table>
|
||||
|
||||
The \-t options takes a comma-separated list of the types of datasets to be displayed. The following example uses the \-t and \-o options simultaneously to show the name and used property for all file systems:
|
||||
|
||||
```
|
||||
# <b>zfs list -t filesystem -o name,used</b>
|
||||
NAME USED
|
||||
pool 476K
|
||||
pool/clone 18K
|
||||
pool/home 296K
|
||||
pool/home/marks 277K
|
||||
pool/test 18K
|
||||
```
|
||||
|
||||
You can use the \-H option to omit the zfs list header from the generated output. With the \-H option, all white space is replaced by the Tab character. This option can be useful when you need parseable output, for example, when scripting. The following example shows the output generated from using the zfs list command with the \-H option:
|
||||
|
||||
```
|
||||
# <b>zfs list -H -o name</b>
|
||||
pool
|
||||
pool/clone
|
||||
pool/home
|
||||
pool/home/marks
|
||||
pool/home/marks@snap
|
||||
pool/test
|
||||
```
|
||||
|
||||
+57
-67
@@ -65,7 +65,7 @@ affine.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:3010
|
||||
reverse_proxy bob:3010
|
||||
}
|
||||
|
||||
asm.delmar.bzh {
|
||||
@@ -74,7 +74,7 @@ asm.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:50154
|
||||
reverse_proxy carlo:50154
|
||||
}
|
||||
|
||||
books.delmar.bzh {
|
||||
@@ -83,7 +83,7 @@ books.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:10801
|
||||
reverse_proxy carlo:10801
|
||||
}
|
||||
|
||||
borg.delmar.bzh {
|
||||
@@ -92,7 +92,7 @@ borg.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy carlo:8080
|
||||
reverse_proxy patrick:8080
|
||||
}
|
||||
|
||||
cap.delmar.bzh {
|
||||
@@ -101,7 +101,7 @@ cap.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:11338
|
||||
reverse_proxy carlo:11338
|
||||
}
|
||||
|
||||
cfy.delmar.bzh {
|
||||
@@ -139,10 +139,18 @@ cloud.delmar.bzh {
|
||||
}
|
||||
|
||||
cloud.delmar.bzh:8443 {
|
||||
encode {
|
||||
zstd
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
|
||||
reverse_proxy bob:8080 {
|
||||
transport http {
|
||||
tls_insecure_skip_verify
|
||||
}
|
||||
header_up Host {upstream_hostport}
|
||||
header_up X-Real-IP {remote_host}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,7 +160,7 @@ cnvrt.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:32770
|
||||
reverse_proxy bob:32770
|
||||
}
|
||||
|
||||
crbn.delmar.bzh {
|
||||
@@ -161,7 +169,7 @@ crbn.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:4000
|
||||
reverse_proxy bob:4000
|
||||
}
|
||||
|
||||
cs.delmar.bzh {
|
||||
@@ -173,17 +181,6 @@ cs.delmar.bzh {
|
||||
reverse_proxy patrick:49505
|
||||
}
|
||||
|
||||
cvs.delmar.bzh {
|
||||
encode {
|
||||
zstd
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:54268 {
|
||||
header_up Host {upstream_hostport}
|
||||
}
|
||||
}
|
||||
|
||||
dev.delmar.bzh {
|
||||
encode {
|
||||
zstd
|
||||
@@ -199,7 +196,7 @@ dia.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:53000
|
||||
reverse_proxy patrick:8888
|
||||
}
|
||||
|
||||
draw.delmar.bzh {
|
||||
@@ -208,7 +205,7 @@ draw.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:24928
|
||||
reverse_proxy carlo:24928
|
||||
}
|
||||
|
||||
gen.delmar.bzh {
|
||||
@@ -217,7 +214,7 @@ gen.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:32787
|
||||
reverse_proxy carlo:32787
|
||||
}
|
||||
|
||||
git.delmar.bzh {
|
||||
@@ -226,7 +223,7 @@ git.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:3001
|
||||
reverse_proxy carlo:3001
|
||||
}
|
||||
|
||||
gotify.delmar.bzh {
|
||||
@@ -235,7 +232,7 @@ gotify.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:41901
|
||||
reverse_proxy carlo:41901
|
||||
}
|
||||
|
||||
homepage.delmar.bzh {
|
||||
@@ -244,7 +241,7 @@ homepage.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:7575
|
||||
reverse_proxy carlo:7575
|
||||
}
|
||||
|
||||
home-assistant.delmar.bzh {
|
||||
@@ -262,7 +259,7 @@ imgs.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy karen:32774
|
||||
reverse_proxy karen:8000
|
||||
}
|
||||
|
||||
inv.delmar.bzh {
|
||||
@@ -271,7 +268,7 @@ inv.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:7777 {
|
||||
reverse_proxy bob:7777 {
|
||||
header_up X-Real-IP {remote_host}
|
||||
header_up X-Forwarded-For {remote_host}
|
||||
header_up X-Forwarded-Proto {scheme}
|
||||
@@ -284,7 +281,7 @@ it.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:11404
|
||||
reverse_proxy carlo:11404
|
||||
}
|
||||
|
||||
jellyfin.delmar.bzh {
|
||||
@@ -323,38 +320,31 @@ kontadenn.delmar.bzh {
|
||||
}
|
||||
}
|
||||
|
||||
lai.delmar.bzh {
|
||||
encode {
|
||||
zstd
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:16080
|
||||
}
|
||||
|
||||
lnk.delmar.bzh {
|
||||
encode {
|
||||
zstd
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy bob:3000
|
||||
}
|
||||
|
||||
lud.delmar.bzh {
|
||||
encode {
|
||||
zstd
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:3002
|
||||
}
|
||||
|
||||
mail.delmar.bzh {
|
||||
encode {
|
||||
zstd
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:10003 {
|
||||
transport http {
|
||||
proxy_protocol v2
|
||||
}
|
||||
header_up Host {upstream_hostport}
|
||||
}
|
||||
}
|
||||
|
||||
mailbear.delmar.bzh {
|
||||
encode {
|
||||
zstd
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:11234 {
|
||||
header_up Host {upstream_hostport}
|
||||
}
|
||||
reverse_proxy carlo:3002
|
||||
}
|
||||
|
||||
mmgr.delmar.bzh {
|
||||
@@ -419,7 +409,7 @@ paperless.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:8000
|
||||
reverse_proxy bob:8000
|
||||
}
|
||||
|
||||
pdf.delmar.bzh {
|
||||
@@ -428,7 +418,7 @@ pdf.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:16080
|
||||
reverse_proxy bob:16080
|
||||
}
|
||||
|
||||
penpot.delmar.bzh {
|
||||
@@ -437,7 +427,7 @@ penpot.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:43735
|
||||
reverse_proxy bob:43735
|
||||
}
|
||||
|
||||
pip.delmar.bzh {
|
||||
@@ -500,7 +490,7 @@ search.delmar.bzh
|
||||
header @static Cache-Control "public, max-age=30, stale-while-revalidate=60"
|
||||
header @imageproxy Cache-Control "public, max-age=3600"
|
||||
}
|
||||
reverse_proxy patrick:23485
|
||||
reverse_proxy carlo:23485
|
||||
}
|
||||
|
||||
send.delmar.bzh {
|
||||
@@ -509,7 +499,7 @@ send.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:53842
|
||||
reverse_proxy carlo:53842
|
||||
}
|
||||
|
||||
shop.delmar.bzh {
|
||||
@@ -528,7 +518,7 @@ smk.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:10802
|
||||
reverse_proxy carlo:10802
|
||||
}
|
||||
|
||||
stream.delmar.bzh {
|
||||
@@ -537,7 +527,7 @@ stream.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:1984
|
||||
reverse_proxy carlo:1984
|
||||
basic_auth / {
|
||||
admin $2a$14$Z5n.aZ3DVnl.DjE9h2WP4OcR21tROpN1dyv8hFxGU3AEbdcOssUKi
|
||||
}
|
||||
@@ -567,7 +557,7 @@ trmx.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:32771
|
||||
reverse_proxy carlo:32771
|
||||
}
|
||||
|
||||
twip.delmar.bzh {
|
||||
@@ -576,11 +566,11 @@ twip.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:12473
|
||||
reverse_proxy carlo:12473
|
||||
|
||||
handle_errors {
|
||||
rewrite * /{err.status_code}
|
||||
reverse_proxy patrick:12473 {
|
||||
reverse_proxy carlo:12473 {
|
||||
header_up Host {upstream_hostport}
|
||||
replace_status {err.status_code}
|
||||
}
|
||||
@@ -593,7 +583,7 @@ ugo.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:8090
|
||||
reverse_proxy carlo:8090
|
||||
}
|
||||
|
||||
vault.delmar.bzh {
|
||||
@@ -602,7 +592,7 @@ vault.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:16081
|
||||
reverse_proxy carlo:16081
|
||||
}
|
||||
|
||||
wizarr.delmar.bzh {
|
||||
@@ -644,7 +634,7 @@ xcd.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy patrick:32768
|
||||
reverse_proxy carlo:32768
|
||||
}
|
||||
|
||||
zik.delmar.bzh {
|
||||
@@ -680,7 +670,7 @@ lghn.delmar.bzh {
|
||||
gzip
|
||||
minimum_length 1024
|
||||
}
|
||||
reverse_proxy 192.168.1.23
|
||||
reverse_proxy 192.168.1.21
|
||||
basic_auth / {
|
||||
admin $2a$14$RsUJ13kC9DcRMoQa8hlmNOljcXGMSem.1XwYFeV1El8Drw7DIJbVu
|
||||
}
|
||||
|
||||
@@ -31,19 +31,19 @@ https://go.dev/dl/
|
||||
```
|
||||
|
||||
```bash
|
||||
wget https://go.dev/dl/go1.26.1.linux-arm64.tar.gz
|
||||
rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.26.1.linux-arm64.tar.gz
|
||||
wget https://go.dev/dl/go1.26.3.linux-arm64.tar.gz
|
||||
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.26.3.linux-arm64.tar.gz
|
||||
export PATH=$PATH:/usr/local/go/bin
|
||||
```
|
||||
|
||||
```bash
|
||||
mkdir ~/caddy
|
||||
cd caddy
|
||||
mkdir ~/caddy && cd caddy
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user