Squashed 'temp-repo/' content from commit 6688605
git-subtree-dir: temp-repo git-subtree-split: 6688605ad41f49d1eccead8d29421c658cad0100
This commit is contained in:
commit
ecdfa2f7c4
1258 changed files with 42112 additions and 0 deletions
46
Homelab/Building a docker image.md
Executable file
46
Homelab/Building a docker image.md
Executable file
|
@ -0,0 +1,46 @@
|
|||
https://stackify.com/docker-build-a-beginners-guide-to-building-docker-images/
|
||||
|
||||
```bash
|
||||
git pull https://github.com/jackyzha0/quartz
|
||||
|
||||
cd quartz
|
||||
|
||||
sudo docker build -t quartz
|
||||
```
|
||||
|
||||
```yml
|
||||
quartz:
|
||||
container_name: quartz
|
||||
image: quartz
|
||||
env_file:
|
||||
- /media/md0/containers/immich/.env
|
||||
environment:
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- web
|
||||
volumes:
|
||||
- /media/md0/containers/quartz/:/
|
||||
#- /media/md0/mediaLibrary/mdvault/all:/????????
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=traefik-proxy
|
||||
- traefik.http.middlewares.redirect-https.redirectScheme.scheme=https
|
||||
- traefik.http.middlewares.redirect-https.redirectScheme.permanent=true
|
||||
- traefik.http.routers.quartz-https.rule=Host(`quartz.achilletoupin.com`)
|
||||
- traefik.http.routers.quartz-https.entrypoints=https
|
||||
- traefik.http.routers.quartz-https.tls=true
|
||||
- traefik.http.routers.quartz-https.tls.certresolver=http
|
||||
- traefik.http.routers.quartz-https.service=quartz
|
||||
- traefik.http.routers.quartz-http.rule=Host(`digitalgarden.achilletoupin.com`)
|
||||
- traefik.http.routers.quartz-http.entrypoints=http
|
||||
- traefik.http.routers.quartz-http.middlewares=redirect-https
|
||||
- traefik.http.routers.quartz-http.service=quartz
|
||||
- traefik.http.services.quartz.loadbalancer.server.port=8080
|
||||
```
|
||||
|
||||
```bash
|
||||
docker compose up quartz
|
||||
```
|
||||
|
||||
- Je ne sais pas comment lier un .env ou si je devrais le faire, quel .env utilise
|
||||
- Je ne sais pas quels directories lier
|
95
Homelab/Comment télécharger des films sur le serveur.md
Executable file
95
Homelab/Comment télécharger des films sur le serveur.md
Executable file
|
@ -0,0 +1,95 @@
|
|||
# Pour des films en anglais
|
||||
1. Aller sur https://prowlarr.achilletoupin.com
|
||||
- username : achille.toupin@gadz.org
|
||||
- mdp : 7wM$5oTj5dH7VHh2*wM5EZDaN%ic5uhb
|
||||
2. Chercher dans la barre de recherche
|
||||

|
||||
3. Choisir un des choix, en fonction de :
|
||||
1. La qualité écrite dans le titre
|
||||
2. Qui l'a mis en ligne (généralement YIFY c'est bien)
|
||||
3. La taille (max 3GB pour un film, au delà c'est beaucoup)
|
||||
4. Le nombre de peers
|
||||
1. Le premier chiffre c'est le nombre de seeders, plus il y en a, plus ça télécharge vite
|
||||
2. Le 2e c'est le sombre de leechers, c'est le nombre de gens en train de télécharger en ce moment, plus c'est grand, plus le film est populaire. (Doonc plus il y a de chance qu'il soit bien)
|
||||
5. Appuyer sur l'icone de téléchargement
|
||||

|
||||
|
||||
4. Aller sur https://qbittorrent.achilletoupin.com/
|
||||
|
||||
username : admin
|
||||
mdp : RGJL6g@58xsTJ4Auvyt!9c#G!3p*wtu%
|
||||
|
||||
5. Verifier que le torrent s'est bien rajouté
|
||||
|
||||
6. Changer le dossier de téléchargement :
|
||||
|
||||
1. Clic droit sur le film
|
||||

|
||||
3. Set location
|
||||
- soit /movies/
|
||||
- soit /shows/
|
||||

|
||||
|
||||
|
||||
7. Plus qu'à attendre que ça se télécharge
|
||||
|
||||
8. Quand c'est fini, aller sur https://jellyfin.achilletoupin.com
|
||||
|
||||
1. Dans le menu en haut à gauche, aller dans le tableau de bord
|
||||

|
||||
2. Actualiser les médiathèques
|
||||

|
||||
9. Après c'est bon, le film est sur jellyfin
|
||||
|
||||
# Pour des films en français
|
||||
1. Aller sur le site de yggtorrent
|
||||
L'adresse change souvent parcequ'ils se font arrêter, donc il faut vérifier sur leur compte twitter :
|
||||
https://twitter.com/yggtorrent_p2p
|
||||
En ce moment c'est
|
||||
https://yggtorrent.la/
|
||||
2. Se connecter avec mon compte :
|
||||
- username : Acyone
|
||||
- mdp : XUzF%x!k3yLjmW2*ct45Vs#qUyGRyh$i
|
||||
|
||||
3. Chercher le film/série
|
||||
4. Choisir une des possibilités
|
||||
## /!\ Attention au ratio /!\
|
||||
Si le ratio (en haut de l'écran) est inférieur à 1, on ne peut plus téléchrager.
|
||||
Il faut avoir uploadé autant qu'on veut downloader.
|
||||
Donc si on veut téléhcharger un film de 2Gb, il faut avoir uploadé au moins 2Gb de plus qu'on a downloadé.
|
||||
Si le ratio est trop bas, demander à Achille.
|
||||
|
||||
Pour trouver un film, c'est comme sur prowlarr
|
||||

|
||||
Tu peux cliquer sur "seed" pour trier par seed décroissant
|
||||
|
||||
5. Quand tu as trouvé le film, télécharge le fichier .torrent
|
||||

|
||||
|
||||
6. Aller sur https://qbittorrent.achilletoupin.com/
|
||||
|
||||
- username : admin
|
||||
- mdp : RGJL6g@58xsTJ4Auvyt!9c#G!3p*wtu%
|
||||
|
||||
1. Ajouter un torrent en cliquant ici
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
2. Ajouter le fichier .torrent que tu viens de télécharger
|
||||

|
||||
3. Mettre le bon dossier :
|
||||
- /movies/
|
||||
- /shows/
|
||||
4. Cliquer sur "Upload torrents"
|
||||
|
||||
5. Plus qu'à attendre que ça se télécharge
|
||||
|
||||
7. Quand c'est fini, aller sur https://jellyfin.achilletoupin.com
|
||||
|
||||
1. Dans le menu en haut à gauche, aller dans le tableau de bord
|
||||

|
||||
2. Actualiser les médiathèques
|
||||

|
||||
8. Après c'est bon, le film est sur jellyfin
|
1
Homelab/Cool dockers to try.md
Executable file
1
Homelab/Cool dockers to try.md
Executable file
|
@ -0,0 +1 @@
|
|||
- [ ] Prometheus
|
23
Homelab/Gestionnaires de livres.md
Executable file
23
Homelab/Gestionnaires de livres.md
Executable file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
type: ressource
|
||||
date: 2025-02-13T19:00
|
||||
maturity: graine
|
||||
---
|
||||
# Kavita
|
||||
|
||||
[Kavita](https://www.kavitareader.com/)
|
||||
solition web
|
||||
|
||||
pas possible de gérer des clippings
|
||||
|
||||
# Calibre
|
||||
|
||||
Le plus connu
|
||||
Marche (assez) bien
|
||||
Moche af
|
||||
pas dispo en ligne
|
||||
a une fonctionnalité "Highlights"
|
||||
|
||||
# calibre-web
|
||||
|
||||
outil indépendant de Calibre qui est une web-ui, et peut se synchroniser avec une base de données Calibre (à travers un 3e outil ? jsp)
|
59
Homelab/Increase Linux Swap file size.md
Executable file
59
Homelab/Increase Linux Swap file size.md
Executable file
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
type: ressource
|
||||
date: 2025-03-06T10:13
|
||||
maturity: graine
|
||||
---
|
||||
|
||||
To increase the size of your swap file on Linux Mint, follow these steps:
|
||||
### Look how much swap you currently have
|
||||
|
||||
```sh
|
||||
free -h
|
||||
```
|
||||
### Turn off the current swap file
|
||||
```bash
|
||||
sudo swapoff /swapfile
|
||||
```
|
||||
|
||||
### Resize the swap file
|
||||
Replace `XG` with the desired new size (e.g., `4G` for 4 GB):
|
||||
```bash
|
||||
sudo fallocate -l XG /swapfile
|
||||
```
|
||||
If `fallocate` is not supported, use:
|
||||
```bash
|
||||
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
|
||||
```
|
||||
(for 4 GB, adjust `count` accordingly)
|
||||
|
||||
### Set the correct permissions
|
||||
```bash
|
||||
sudo chmod 600 /swapfile
|
||||
```
|
||||
|
||||
### Format the swap file
|
||||
```bash
|
||||
sudo mkswap /swapfile
|
||||
```
|
||||
|
||||
### Enable the new swap file
|
||||
```bash
|
||||
sudo swapon /swapfile
|
||||
```
|
||||
|
||||
### Verify swap space
|
||||
```bash
|
||||
free -h
|
||||
```
|
||||
|
||||
### Make it permanent
|
||||
Ensure the swap file is reactivated on reboot by adding this line to `/etc/fstab`:
|
||||
```bash
|
||||
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
|
||||
```
|
||||
|
||||
Your swap size is now increased.
|
||||
|
||||
|
||||
# Sources
|
||||
ChatGPT
|
298
Homelab/Installer serveur Linux.md
Executable file
298
Homelab/Installer serveur Linux.md
Executable file
|
@ -0,0 +1,298 @@
|
|||
---
|
||||
type: ressource
|
||||
date: 2025-02-18T10:25
|
||||
maturity: graine
|
||||
---
|
||||
|
||||
|
||||
```
|
||||
sudo apt install btop
|
||||
sudo ubuntu-drivers autoinstall
|
||||
```
|
||||
|
||||
|
||||
|
||||
# Installing ZSH
|
||||
|
||||
## Zsh
|
||||
|
||||
```sh
|
||||
sudo apt install git fonts-font-awesome
|
||||
|
||||
sudo apt install zsh
|
||||
chsh -s $(which zsh)
|
||||
|
||||
echo $SHELL
|
||||
```
|
||||
|
||||
[Installing ZSH · ohmyzsh/ohmyzsh Wiki · GitHub](https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH)
|
||||
|
||||
## Oh-my-zsh
|
||||
### Install
|
||||
|
||||
```sh
|
||||
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
|
||||
```
|
||||
|
||||
|
||||
### Plugins
|
||||
|
||||
```sh
|
||||
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
||||
|
||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
|
||||
|
||||
nvim ~/.zshrc
|
||||
```
|
||||
|
||||
add :
|
||||
```.zshrc
|
||||
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
|
||||
```
|
||||
|
||||
### Themes
|
||||
|
||||
```sh
|
||||
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
|
||||
|
||||
nvim ~/.zshrc
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
ZSH_THEME="`powerlevel10k/powerlevel10k`"
|
||||
```
|
||||
|
||||
redémarrer zsh et suivre la configuration de powerlever10k
|
||||
|
||||
|
||||
Source : [Install and Setup ZSH on Ubuntu Linux](https://itsfoss.com/zsh-ubuntu/)
|
||||
# Docker and Docker Compose
|
||||
|
||||
## Install Prerequisite Packages
|
||||
|
||||
Install the necessary packages to allow apt to use a repository over HTTPS.
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt upgrade
|
||||
sudo apt install \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
software-properties-common \
|
||||
gnupg
|
||||
```
|
||||
|
||||
## Add Docker’s Official GPG Key
|
||||
|
||||
Add Docker’s official GPG key to your system to ensure the authenticity of the packages.
|
||||
|
||||
```bash
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
||||
```
|
||||
|
||||
## Set Up the Docker Repository
|
||||
|
||||
Add the Docker repository to APT sources.
|
||||
|
||||
```bash
|
||||
echo \
|
||||
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
|
||||
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
```
|
||||
|
||||
## Install Docker
|
||||
|
||||
Update the package index again and install Docker.
|
||||
|
||||
```bash
|
||||
sudo apt install docker-ce docker-ce-cli containerd.io
|
||||
```
|
||||
|
||||
## Verify Docker Installation
|
||||
|
||||
Check if Docker is installed correctly by running the `hello-world` image.
|
||||
|
||||
```bash
|
||||
sudo docker run hello-world
|
||||
```
|
||||
|
||||
## Install Docker Compose
|
||||
|
||||
Download the current stable release of Docker Compose.
|
||||
|
||||
```bash
|
||||
DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
|
||||
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
```
|
||||
|
||||
## Apply Executable Permissions to the Docker Compose Binary
|
||||
|
||||
Make the Docker Compose binary executable.
|
||||
|
||||
```bash
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
||||
```
|
||||
|
||||
## Verify Docker Compose Installation
|
||||
|
||||
Check the version of Docker Compose to verify the installation.
|
||||
|
||||
```bash
|
||||
docker-compose --version
|
||||
```
|
||||
|
||||
|
||||
## Create docker group
|
||||
|
||||
|
||||
1. Add your user to the `docker` group:
|
||||
|
||||
```bash
|
||||
sudo usermod -aG docker $USER
|
||||
```
|
||||
|
||||
2. Log out and log back in, or use the `newgrp` command:
|
||||
|
||||
```bash
|
||||
newgrp docker
|
||||
```
|
||||
|
||||
3. Verify that your user is now part of the `docker` group:
|
||||
|
||||
```bash
|
||||
groups
|
||||
```
|
||||
|
||||
You should see `docker` listed in the output.
|
||||
|
||||
4. Try running the Docker Compose command again:
|
||||
|
||||
```bash
|
||||
docker compose up traefik
|
||||
```
|
||||
|
||||
If you still encounter issues, ensure that the Docker daemon is running and accessible:
|
||||
|
||||
```bash
|
||||
sudo systemctl status docker
|
||||
```
|
||||
|
||||
## Create docker networks
|
||||
|
||||
|
||||
To create the external networks `web` and `internal`, you need to manually create them using the Docker CLI before running your `docker-compose` command. Here are the steps:
|
||||
|
||||
5. Create the `web` network:
|
||||
|
||||
```bash
|
||||
docker network create web
|
||||
```
|
||||
|
||||
6. Create the `internal` network:
|
||||
|
||||
```bash
|
||||
docker network create internal
|
||||
```
|
||||
|
||||
After creating these networks, you can run your `docker-compose` command without encountering errors related to missing networks.
|
||||
|
||||
```bash
|
||||
docker compose up traefik
|
||||
```
|
||||
|
||||
|
||||
# Mount remote directories
|
||||
|
||||
SSHFS :
|
||||
|
||||
```sh
|
||||
sudo sshfs -o IdentityFile=~/.ssh/id_rsa -o allow_other -o reconnect gribse@217.128.128.22:/media/md0 /mnt/nestor-v3
|
||||
```
|
||||
|
||||
|
||||
NFS / CIFS :
|
||||
```sh
|
||||
sudo mount -t cifs //192.168.1.68/gribse -w -o username=gribse,password="a8t*wN3gx&akd0%tNjrdGtL4c0jy75kL",uid=gribse /mnt/TNAS
|
||||
```
|
||||
|
||||
|
||||
To ensure that these directories are mounted at startup, you can add entries to the fstab file. Here are the steps:
|
||||
|
||||
|
||||
```sh
|
||||
sudo nano /etc/fstab
|
||||
```
|
||||
|
||||
2. **Add the SSHFS entry**:
|
||||
Add the following line to mount the SSHFS directory at startup:
|
||||
```plaintext
|
||||
gribse@217.128.128.22:/media/md0 /mnt/nestor-v3 fuse.sshfs IdentityFile=/home/gribse/.ssh/id_rsa,allow_other,reconnect 0 0
|
||||
```
|
||||
|
||||
3. **Add the CIFS entry**:
|
||||
Add the following line to mount the CIFS directory at startup:
|
||||
```plaintext
|
||||
//192.168.1.68/gribse /mnt/TNAS cifs username=gribse,password=a8t*wN3gx&akd0%tNjrdGtL4c0jy75kL,uid=gribse 0 0
|
||||
```
|
||||
|
||||
4. **Save and exit**:
|
||||
Save the changes and exit the text editor (in nano, press `Ctrl+X`, then `Y`, and `Enter`).
|
||||
|
||||
5. **Test the fstab entries**:
|
||||
Test the new entries by running:
|
||||
```bash
|
||||
sudo mount -a
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
fstab
|
||||
|
||||
file:
|
||||
```
|
||||
# <file system> <mount point> <type> <options> <dump> <pass>
|
||||
gribse@217.128.128.22:/media/md0 /mnt/nestor-v3 fuse.sshfs IdentityFile=/home/gribse/.ssh/id_rsa,allow_other,reconnect 0 0
|
||||
//192.168.1.68/gribse /mnt/TNAS cifs username=gribse,password=a8t*wN3gx&akd0%tNjrdGtL4c0jy75kL,uid=gribse 0 0
|
||||
```
|
||||
|
||||
This will ensure that the SSHFS and CIFS directories are mounted automatically at startup.
|
||||
|
||||
# Installing Immich
|
||||
|
||||
|
||||
|
||||
## Transfer data
|
||||
- [ ] is tsdata needed ?
|
||||
|
||||
- [ ] is pgdata needed ?
|
||||
|
||||
- [ ] import library
|
||||
- [ ] ftp
|
||||
- [ ]
|
||||
|
||||
|
||||
- [ ] choose storage tempate
|
||||
|
||||
|
||||
- [ ] spécifier uplads/library différent de iploads/thumbs, etc ? pour economiser bande passante et unsiquement stoquer els images sur TNAS
|
||||
## Configure
|
||||
|
||||
- [ ] Rewrite `compose.yml` : [Fetching Title#wk4c](https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml)
|
||||
- cf [Docker Compose \[Recommended\] | Immich](https://immich.app/docs/install/docker-compose/)
|
||||
- [ ] rewrite env
|
||||
- [ ] move env
|
||||
|
||||
|
||||
|
||||
|
||||
## Deploy
|
||||
|
||||
- [ ] stop immich
|
||||
- [ ] rsync v3 -> v4
|
||||
- [ ] move env
|
||||
- [ ] move pgdata
|
||||
- [ ] move tsdata
|
||||
- [ ] start local immich
|
||||
|
||||
- [ ] stats prometheus ?
|
2
Homelab/Jarvis v3 cachier des charges.md
Executable file
2
Homelab/Jarvis v3 cachier des charges.md
Executable file
|
@ -0,0 +1,2 @@
|
|||
Well done hardlinks
|
||||
https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths
|
157
Homelab/Linux antisèche thuysse cheatsheet.md
Executable file
157
Homelab/Linux antisèche thuysse cheatsheet.md
Executable file
|
@ -0,0 +1,157 @@
|
|||
# Installer Linux
|
||||
|
||||
cf [[Installer serveur Linux]]
|
||||
|
||||
# Copier avec Rsync
|
||||
|
||||
Locally :
|
||||
```bash
|
||||
rsync -avhW --no-compress --progress /src/ /dst/
|
||||
```
|
||||
|
||||
Over the network :
|
||||
```sh
|
||||
rsync -rtvuP source_rep/ destination_rep/
|
||||
```
|
||||
|
||||
Options
|
||||
```
|
||||
-a is for archive, which preserves ownership, permissions etc.
|
||||
-v is for verbose, so I can see what's happening (optional)
|
||||
-h is for human-readable, so the transfer rate and file sizes are easier to read (optional)
|
||||
-W is for copying whole files only, without delta-xfer algorithm which should reduce CPU load
|
||||
--no-compress as there's no lack of bandwidth between local devices
|
||||
--progress so I can see the progress of large files (optional)
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh
|
||||
rsync -artvuP --info=progress2 --itemize-changes --verbose /mnt/nestor-v3/mediaLibrary/ /mnt/TNAS/mediaLibrary/
|
||||
```
|
||||
|
||||
| _Les Options_ | Descriptions |
|
||||
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| -a | Mode archivage. Équivalent à -rlptgoD |
|
||||
| -g | Préserve le groupe |
|
||||
| -D | Préserve les périphériques. Nécessite d’être root |
|
||||
| -l | Copie les liens symboliques comme liens symboliques |
|
||||
| -o | Préserve le propriétaire. Nécessite d’être root |
|
||||
| -p | Préserve les permissions |
|
||||
| -o | Préserve le propriétaire. Nécessite d’être root |
|
||||
| -P | Combine les options –progress et –partial |
|
||||
| -r | Copie récursive des répertoires |
|
||||
| -t | Préserve les dates |
|
||||
| -u | Cela force rsync à ignorer tous les fichiers qui existent sur la destination et dont l’heure de modification est plus récente que le fichier source. |
|
||||
| -v | Mode verbose pour afficher de nombreuses informations sont affichées lors du transfert. |
|
||||
| -z | Compresse le fichier pour un meilleur transfert par le réseau |
|
||||
| –delete | Synchronisation et miroir parfaite, le fichier de destination sera supprimé, s’il n’est pas présent dans la source |
|
||||
| –exclude= | Exclure des fichiers de la sauvegarde |
|
||||
| –max-size | Indique une taille maximal de fichier à ne pas transférer |
|
||||
| –partial | Par défaut, rsync supprimera tout fichier partiellement transféré si le transfert est interrompu. <br>–partial indique à rsync de conserver le fichier partiel, ce qui devrait accélérer le transfert du reste du fichier. |
|
||||
| –progress | Affiche une barre de progression |
|
||||
Source : [rsync - malekal.com](https://www.malekal.com/rsync-synchroniser-copier-fichiers-distance-ou-locaux/)
|
||||
|
||||
Pour que rsync contine meme quand on arrête la session ssh :
|
||||
|
||||
Start a tmux session:
|
||||
|
||||
```sh
|
||||
tmux new -s rsync_session
|
||||
```
|
||||
|
||||
Run the rsync command, then detach using Ctrl+B, then D.
|
||||
To reattach:
|
||||
|
||||
```sh
|
||||
tmux attach -t rsync_session
|
||||
```
|
||||
|
||||
|
||||
# Tranfser via FTP
|
||||
|
||||
```sh
|
||||
lftp -u gribse,BouncingYoyoN09 217.128.128.22 -e "mirror /media/md0/mediaLibrary/shows /mnt/TNAS/mediaLibrary/shows; bye"
|
||||
```
|
||||
|
||||
Multiple in parallel :
|
||||
```sh
|
||||
lftp -u gribse,BouncingYoyoN09 217.128.128.22 -e "mirror --parallel=5 /media/md0/containers/immich /mnt/TNAS/docker-data/immich; bye"
|
||||
```
|
||||
|
||||
# Estimer % de transfert
|
||||
en comparant la taille de 2 dirs, source & dest
|
||||
|
||||
```sh
|
||||
du -sb /mnt/TNAS/docker-data/immich /mnt/nestor-v3/containers/immich | awk 'NR==1{s1=$1} NR==2{s2=$1; printf "%s %s %.0f\n", s1, s2, (s1/s2)*100}' | numfmt --to=iec --field=1,2 | awk '{printf "%s/%s (%s%%)\n", $1, $2, $3}'
|
||||
```
|
||||
|
||||
Output :
|
||||
> 1.8T/2.1T (87%)
|
||||
|
||||
# Mesurer taille directory et sous-dirs
|
||||
|
||||
This does what you're looking for:
|
||||
|
||||
```sh
|
||||
du -sh /* | sort -h
|
||||
```
|
||||
|
||||
What this means:
|
||||
|
||||
- `-s` to give only the total for each command line argument.
|
||||
- `-h` for human-readable suffixes like `M` for megabytes and `G` for gigabytes (optional).
|
||||
- `/*` simply expands to all directories (and files) in `/`.
|
||||
|
||||
|
||||
[linux - How to get the summarized sizes of directories and their subdirectories? - Super User](https://superuser.com/questions/162749/how-to-get-the-summarized-sizes-of-directories-and-their-subdirectories)
|
||||
|
||||
# Update docker container images manually
|
||||
|
||||
```yaml
|
||||
docker compose pull xxxxx
|
||||
docker compose up --force-recreate --build -d xxxxx
|
||||
docker image prune -f
|
||||
```
|
||||
|
||||
source : https://stackoverflow.com/questions/49316462/how-to-update-existing-images-with-docker-compose
|
||||
|
||||
Update immich :
|
||||
|
||||
```sh
|
||||
docker compose pull immich-database immich-redis immich-server immich-microservices immich-machine-learning
|
||||
|
||||
docker compose up --force-recreate --build -d immich-database immich-redis immich-server immich-microservices immich-machine-learning
|
||||
|
||||
docker image prune -f
|
||||
|
||||
```
|
||||
|
||||
# Docker ports
|
||||
|
||||
```yml
|
||||
ports:
|
||||
- 5984:5984
|
||||
- outside container:inside container
|
||||
```
|
||||
|
||||
# Generate random number
|
||||
|
||||
```sh
|
||||
openssl rand -base64 12
|
||||
```
|
||||
- -hex pour hex value
|
||||
- -base64 pour des caractères
|
||||
- rien pour du gibberish
|
||||
|
||||
# Shell
|
||||
## Go to beginning of line
|
||||
Crtl + A
|
||||
|
||||
## Copy output of command to clipboard
|
||||
|
||||
```sh
|
||||
cat ~/.ssh/id_rsa.pub | xclip -selection clipboard
|
||||
```
|
||||
|
||||
|
140
Homelab/NAS Terramaster F4-220.md
Executable file
140
Homelab/NAS Terramaster F4-220.md
Executable file
|
@ -0,0 +1,140 @@
|
|||
---
|
||||
type: objet
|
||||
date: 2025-02-22T14:23
|
||||
---
|
||||
|
||||
# Definition
|
||||
|
||||
# Spécifications
|
||||
|
||||
- modèle : F4-220
|
||||
- marque : Terramaster
|
||||
|
||||
|
||||
## Photos
|
||||
|
||||
|
||||
|
||||
# Log
|
||||
|
||||
## 2024-etc
|
||||
|
||||
Achat sur lbc
|
||||
|
||||
|
||||
## 2025-02-22
|
||||
|
||||
### ~14h30
|
||||
Ne répond plus
|
||||
|
||||
fait un bip
|
||||
|
||||
lumiere verte sur power et rouge sur tous les drives
|
||||
|
||||
j'essaie de l'étaindre mais appuyer sur le bouton, short ou long, ne fait rien
|
||||
|
||||
je le débranche et le rebranche
|
||||
|
||||
maintenant il ne s'allume pas du tout, short ou long press
|
||||
|
||||
Remevant forum topic : [TNAS F4-220 Will not boot - TerraMaster Official Forum](https://forum.terra-master.com/en/viewtopic.php?t=1462)
|
||||
|
||||
#### hypothèse : faulty initBoot ??
|
||||
|
||||
[How to fix a faulty USB initBoot for your TNAS?(x.86) - TerraMaster Official Forum](https://forum.terra-master.com/en/viewtopic.php?f=75&t=1455)
|
||||
|
||||
> [!quote] [faulty initboot on terramaster forums](https://forum.terra-master.com/en/viewtopic.php?t=4693)
|
||||
> The initBoot contains some programs that are used to configure the basic hardware before TOS is loaded, and these programs are stored in a USB flash drive. Unexpected power outages, abnormal shutdowns, and hardware failures can all cause the initBoot to fail. If your x.86 TNAS cannot be started normally, and the device cannot be searched when booting without a hard disk, it is most likely that the initBoot is faulty.
|
||||
>
|
||||
|
||||
> [!NOTE]
|
||||
> - **Solution 1** : If you have a spare drive that contains a TOS system and can boot normally
|
||||
> - **Solution 2** : If you are not able to access TOS, you have to make a new USB initBoot and replace the failed one. To make a new USB initBoot, please follow the instruction : [Fetching Title#vac1](https://download2.terra-master.com/instruction_detail_en.docx)
|
||||
|
||||
|
||||
[F2-210/F4-210 is bricked after TOS update? (How to reset the kernel) - TerraMaster Official Forum](https://forum.terra-master.com/en/viewtopic.php?f=76&t=696)
|
||||
|
||||
[How to reinstall TOS for your TNAS? - TerraMaster Official Forum](https://forum.terra-master.com/en/viewtopic.php?f=75&t=423)
|
||||
|
||||
|
||||
|
||||
je l'ai laissé débranché une demi heure puis rebranché. il s'est allumé, a bip 2 ou 3 fois, comme s'il rebootait. puis ca fonctionnait
|
||||
|
||||
### ~ 15h15
|
||||
j'ai remonté le dir sur mon serveur, et ai commencé un rsync et une commande pour calculer la taille :
|
||||
|
||||
```sh
|
||||
sudo rsync -artvuP --info=progress2 --itemize-changes --verbose /mnt/nestor-v3/containers/immich /mnt/TNAS/immich
|
||||
```
|
||||
|
||||
```sh
|
||||
du -sb /mnt/TNAS/docker-data/immich /mnt/nestor-v3/containers/immich | awk 'NR==1{s1=$1} NR==2{s2=$1; printf "%s %s %.0f\n", s1, s2, (s1/s2)*100}' | numfmt --to=iec --field=1,2 | awk '{printf "%s/%s (%s%%)\n", $1, $2, $3}'
|
||||
```
|
||||
|
||||
puis le NAS s'est remis down
|
||||
|
||||
lumieres rouges sur les 4 drives, verte sur power, rien sur réseau. comme au début.
|
||||
|
||||
### 18:16
|
||||
|
||||
Il ne se passe rien quand j'essaie de l'éteindre
|
||||
Je le débranche.
|
||||
|
||||
|
||||
### 18:31
|
||||
|
||||
rebranche
|
||||
ne démarre pas
|
||||
débranche
|
||||
|
||||
19:05
|
||||
ça démarre
|
||||
|
||||
|
||||
### 19:19
|
||||
|
||||
il devient rouge
|
||||
et fait un bip
|
||||
je l'éteins
|
||||
|
||||
### 20:30
|
||||
|
||||
je l'allume
|
||||
|
||||
il me met le panneau de config par defaut
|
||||
|
||||
![[NAS Terramaster F4-220-20250222203350748.jpg|271]]
|
||||
|
||||
il me propose ensuite de creer une partition et de formater le disque
|
||||
je ne veux aps puisque j'ai toutes mes données dessus
|
||||
|
||||
### 20h38
|
||||
|
||||
1 sort press donne un bip
|
||||
|
||||
il met qq secondes à s'éteindre
|
||||
|
||||
### 20h39
|
||||
|
||||
sort press, puis bip
|
||||
il s'allume
|
||||
|
||||
meme panneau de config
|
||||
|
||||
## 20h47
|
||||
|
||||
plante : bip et led de disques rouges
|
||||
|
||||
|
||||
## 2025-02-23
|
||||
|
||||
### 21h24
|
||||
|
||||
Demarrage. toujours sur menu de reset wizard
|
||||
|
||||
|
||||
## 2025-02-27
|
||||
|
||||
### 21h19
|
||||
|
||||
Il plante et reboot, fait un bip. Ca fait des jours que je l'ai pas touché et il est même pas configuré. Ca me saoule, je le débranche.
|
78
Homelab/Nextcloud error - http vs https.md
Executable file
78
Homelab/Nextcloud error - http vs https.md
Executable file
|
@ -0,0 +1,78 @@
|
|||
|
||||
|
||||
![[Nextcloud error - http vs https-20250306123031087.jpg]]
|
||||
|
||||
|
||||
# Nextcloud forum 1
|
||||
[The polling url does not start with https despite the login url started with https - ℹ️ Support - Nextcloud community](https://help.nextcloud.com/t/the-polling-url-does-not-start-with-https-despite-the-login-url-started-with-https/137576)
|
||||
|
||||
|
||||
> [!quote]
|
||||
> catav - Apr 2022
|
||||
>
|
||||
> Hi,
|
||||
> I found a solution after digging a lot on internet.
|
||||
> Following changes solve the problem.
|
||||
>
|
||||
> ```php
|
||||
> 'trusted_domains' =>
|
||||
> array (
|
||||
> 0 => 'domain.ltd',
|
||||
> ),
|
||||
>
|
||||
> 'overwrite.cli.url' => 'https://domain.ltd',
|
||||
> 'overwriteprotocol' => 'https',
|
||||
> ```
|
||||
>
|
||||
> NC works as expected now on k3s cluster.
|
||||
>
|
||||
|
||||
|
||||
|
||||
Mais ça ne marche pas chez moi.
|
||||
|
||||
|
||||
J'ai une redirection https par traefik : c'est peut etre lié à ca ?
|
||||
|
||||
|
||||
|
||||
# Nextcloud forum 2
|
||||
[Desktop Client is trying to use HTTP instead of HTTPS - ℹ️ Support / 📦 Appliances (Docker, Snappy, VM, NCP, AIO) - Nextcloud community](https://help.nextcloud.com/t/desktop-client-is-trying-to-use-http-instead-of-https/122288/11)
|
||||
|
||||
|
||||
> [!quote]
|
||||
> Jakub_Gondar - Sep 2021
|
||||
>
|
||||
> Hello, I had the same problem, I have set both `overwrite.cli.url` and `overwriteprotocol` but it was still not working…
|
||||
>
|
||||
> But what did fixed it for me was REMOVING **`overwritecondaddr`** parameter! After removing it, everything is working now for me.
|
||||
|
||||
|
||||
je trouve pas `overwritecondaddr`...
|
||||
|
||||
extyrait de mon config.php :
|
||||
|
||||
![[Nextcloud error - http vs https-20250306123726522.jpg]]
|
||||
|
||||
|
||||
|
||||
## Enlever http(s) de overwrite.cli.url
|
||||
|
||||
|
||||
> [!quote] [franko5 - Sep 2021](https://help.nextcloud.com/t/desktop-client-is-trying-to-use-http-instead-of-https/122288/20)
|
||||
>
|
||||
> Thanks, this worked for me too, url without http(s).
|
||||
> Best.
|
||||
|
||||
|
||||
Si j'enlève le http ou https de overwrite.cli.url, ça ne marche pas nn plus
|
||||
|
||||
# Solution
|
||||
|
||||
|
||||
```php
|
||||
'overwritehost' => 'nexcloud.achilltoupin.com',
|
||||
'overwriteprotocol' => 'https',
|
||||
```
|
||||
|
||||
pas de https avant le host
|
52
Homelab/Projet Mediawiki Wikithuysses.md
Executable file
52
Homelab/Projet Mediawiki Wikithuysses.md
Executable file
|
@ -0,0 +1,52 @@
|
|||
# Oragnisation
|
||||
|
||||
quoi mettre dedans ?
|
||||
|
||||
pour qui ?
|
||||
|
||||
pour strass spécifiques ?
|
||||
|
||||
infos privées ou juste publiques ?
|
||||
|
||||
quele alternative ?
|
||||
|
||||
bookstack ?
|
||||
|
||||
# Todo
|
||||
|
||||
- [x] setup docker
|
||||
- [x] setup reverse proxy
|
||||
- [ ] ldap config (LDAPprovider)
|
||||
- [ ] config (pluggableauth)
|
||||
- [ ] config group autorisations
|
||||
- [ ] read
|
||||
- [ ] ! read for files too
|
||||
- [ ] 
|
||||
- [ ] create category (admins ? zihistoire ?)
|
||||
- [ ] https://www.mediawiki.org/wiki/Manual:$wgNamespaceProtection
|
||||
- [ ] edit (logged in)
|
||||
- [ ] group for thuysses for just some strasses ?
|
||||
- [ ] comit's
|
||||
- [ ] set wiki icon
|
||||
- [ ] create main page
|
||||
- [ ] create categories
|
||||
- [ ] upload images license pb
|
||||
- [ ] define namespaces
|
||||
- [ ] image resize thing
|
||||
- [ ] rename namespaces to french
|
||||
|
||||
- [ ] encrypted drive
|
||||
- [ ] visual editortemplatescopyright on images etccustom skin
|
||||
[https://www.mediawiki.org/wiki/Manual:How\_to\_make\_a\_MediaWiki_skin](https://www.mediawiki.org/wiki/Manual:How_to_make_a_MediaWiki_skin)
|
||||
- [ ] videos self-hosted ?
|
||||
- [ ] links to documents in nextcloud ?
|
||||
|
||||
# Errors
|
||||
|
||||
- [ ] Parsoid error
|
||||
|
||||
Erreur d’accès au serveur Parsoid/RESTBase : (curl error: 28) Timeout was reached
|
||||
|
||||
quand je modifie avec visualeditor
|
||||
|
||||
- [ ] Visualeditor ne fonctionne pas dans le namespace "History"
|
183
Homelab/Reinstallation serveur proxmox Nestor.md
Executable file
183
Homelab/Reinstallation serveur proxmox Nestor.md
Executable file
|
@ -0,0 +1,183 @@
|
|||
# disks states
|
||||
|
||||
## lsblk
|
||||
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||
loop0 7:0 0 55.6M 1 loop /snap/core18/2654
|
||||
loop1 7:1 0 55.6M 1 loop /snap/core18/2667
|
||||
loop2 7:2 0 63.2M 1 loop /snap/core20/1738
|
||||
loop3 7:3 0 63.3M 1 loop /snap/core20/1778
|
||||
loop4 7:4 0 91.8M 1 loop /snap/lxd/23991
|
||||
loop5 7:5 0 91.9M 1 loop /snap/lxd/24061
|
||||
loop6 7:6 0 49.6M 1 loop /snap/snapd/17883
|
||||
loop7 7:7 0 49.8M 1 loop /snap/snapd/17950
|
||||
sda 8:0 0 68.3G 0 disk
|
||||
├─sda1 8:1 0 1M 0 part
|
||||
├─sda2 8:2 0 1G 0 part /boot
|
||||
└─sda3 8:3 0 67.3G 0 part
|
||||
└─ubuntu--vg-ubuntu--lv
|
||||
253:0 0 33.7G 0 lvm /
|
||||
sdb 8:16 0 68.3G 0 disk
|
||||
└─sdb1 8:17 0 68.3G 0 part
|
||||
sdc 8:32 0 838.3G 0 disk /media/data900
|
||||
sdd 8:48 0 1.1T 0 disk /media/data1900
|
||||
sde 8:64 0 558.9G 0 disk
|
||||
└─sde1 8:65 0 558.9G 0 part
|
||||
└─md0 9:0 0 1.7T 0 raid5 /media/raid
|
||||
sdf 8:80 0 558.9G 0 disk
|
||||
└─sdf1 8:81 0 558.9G 0 part
|
||||
└─md0 9:0 0 1.7T 0 raid5 /media/raid
|
||||
sdg 8:96 0 558.8G 0 disk
|
||||
└─sdg1 8:97 0 558.8G 0 part
|
||||
└─md0 9:0 0 1.7T 0 raid5 /media/raid
|
||||
sdh 8:112 0 558.9G 0 disk
|
||||
└─sdh1 8:113 0 558.9G 0 part
|
||||
└─md0 9:0 0 1.7T 0 raid5 /media/raid
|
||||
sr0 11:0 1 1024M 0 rom
|
||||
|
||||
## disk free :
|
||||
|
||||
Filesystem Size Used Avail Use% Mounted on
|
||||
udev 12G 0 12G 0% /dev
|
||||
tmpfs 2.4G 2.7M 2.4G 1% /run
|
||||
/dev/mapper/ubuntu--vg-ubuntu--lv 33G 19G 13G 59% /
|
||||
tmpfs 12G 16K 12G 1% /dev/shm
|
||||
tmpfs 5.0M 0 5.0M 0% /run/lock
|
||||
tmpfs 12G 0 12G 0% /sys/fs/cgroup
|
||||
/dev/sda2 974M 205M 702M 23% /boot
|
||||
/dev/loop1 56M 56M 0 100% /snap/core18/2667
|
||||
/dev/loop0 56M 56M 0 100% /snap/core18/2654
|
||||
/dev/loop2 64M 64M 0 100% /snap/core20/1738
|
||||
/dev/loop5 92M 92M 0 100% /snap/lxd/24061
|
||||
/dev/loop6 50M 50M 0 100% /snap/snapd/17883
|
||||
/dev/loop4 92M 92M 0 100% /snap/lxd/23991
|
||||
/dev/loop3 64M 64M 0 100% /snap/core20/1778
|
||||
/dev/sdd 1.1T 2.5G 1.1T 1% /media/data1900
|
||||
/dev/sdc 825G 107G 676G 14% /media/data900
|
||||
/dev/md0 1.7T 978G 588G 63% /media/raid
|
||||
tmpfs 2.4G 36K 2.4G 1% /run/user/122
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/d71d0c0eaf3f35d85a8e93c8009101193a51a967d99957cb65aa97d7bf85ed60/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/0a3a9ee261b95c3ee9a862d1bbdcbc15bc10ed37ca5bb1fa720309bc00039bb6/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/7658731d12437d350e89c273b9c65f990482a0eea45438bfc58bfd47463cf0ea/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/a4c12b6a9768853b899442fd44498d47f01382977f39911e34ecd9e4145375ab/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/2057d33f1a71097176021c2be733b61ab7cba14b797909d1d29109cc33626846/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/afb1e59b7df48837eb488cd9f5d282922b5ee35da7b82ab49ed669d7a6aebc7d/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/dee85c3b4cc55b6faae505aeb6e938976541a74288270aa753cc64cf3f9eed32/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/6970d76de51f8eb6950dc51f3a849a1a4682fd0fa82459466c03c743f3f54ee4/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/56641f4f80ccd762a638285d6a40e2b83aa4b0c649de28d0693e98abe91df82f/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/b3841085bbf114663465c5f30092f6f99b99a93b8cee12c3b8356dd981d2d6a3/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/289af12a1d168acf566ef0d7ac6a8ae8928eb4431f0ad74f87b775331e591251/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/59c2f59c3f956c674bfb45136e44fd91929413bbce16b7aade535b5be9e80d57/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/78d06aeaa2a5a65ca03cd77482f1f4f2d726cc05a27802bac04f0bb826bdee57/merged
|
||||
overlay 825G 107G 676G 14% /media/data900/docker/overlay2/e63065679c33374cc06d507b0049e59dbd5f8bfb127faac72d6052c5423aaf86/merged
|
||||
/dev/loop7 50M 50M 0 100% /snap/snapd/17950
|
||||
tmpfs 2.4G 4.0K 2.4G 1% /run/user/1000
|
||||
gribse@jarvisv2:~$
|
||||
|
||||
## raid :
|
||||
Version : 1.2
|
||||
Creation Time : Fri Nov 4 20:55:30 2022
|
||||
Raid Level : raid5
|
||||
Array Size : 1757313024 (1675.90 GiB 1799.49 GB)
|
||||
Used Dev Size : 585771008 (558.63 GiB 599.83 GB)
|
||||
Raid Devices : 4
|
||||
Total Devices : 4
|
||||
Persistence : Superblock is persistent
|
||||
|
||||
Intent Bitmap : Internal
|
||||
|
||||
Update Time : Thu Jan 12 15:47:51 2023
|
||||
State : clean
|
||||
Active Devices : 4
|
||||
Working Devices : 4
|
||||
Failed Devices : 0
|
||||
Spare Devices : 0
|
||||
|
||||
Layout : left-symmetric
|
||||
Chunk Size : 512K
|
||||
|
||||
Consistency Policy : bitmap
|
||||
|
||||
Name : jarvisv2:0 (local to host jarvisv2)
|
||||
UUID : d7305d6c:e3dfa44b:532054aa:f3b846b1
|
||||
Events : 7995
|
||||
|
||||
Number Major Minor RaidDevice State
|
||||
0 8 65 0 active sync /dev/sde1
|
||||
1 8 81 1 active sync /dev/sdf1
|
||||
2 8 97 2 active sync /dev/sdg1
|
||||
4 8 113 3 active sync /dev/sdh1
|
||||
|
||||
# mettre contenu raid dans 1 seul disque : (ca passe)
|
||||
|
||||
tuto :
|
||||
https://delightlylinux.wordpress.com/2020/12/22/how-to-remove-a-drive-from-a-raid-array/
|
||||
|
||||
zoquer le raid et utiliser comme 1 seul disque pour l'instant
|
||||
|
||||
# préparer clef bootable proxmox
|
||||
|
||||
# installer proxmox
|
||||
|
||||
https://phoenixnap.com/kb/install-proxmox
|
||||
|
||||
|
||||
|
||||
# creer gestion disques
|
||||
|
||||
## architecture :
|
||||
|
||||
avant :
|
||||
72 ubuntu
|
||||
72 ??? quand je le debranche ça boot pas
|
||||
900 docker images & folders
|
||||
1100 anciennement films & downloads
|
||||
600 raid (films et seires)
|
||||
600
|
||||
600
|
||||
600
|
||||
|
||||
après :
|
||||
1100 proxmox ?
|
||||
900 raid (tout)
|
||||
600
|
||||
600
|
||||
600
|
||||
600
|
||||
600
|
||||
600
|
||||
|
||||
creer raid 5 avec 4 disques vides
|
||||
|
||||
migrer données media dessus
|
||||
|
||||
ajouter le disque media now vide dessus
|
||||
|
||||
meme chose avec :
|
||||
- les fichiers ubuntu
|
||||
- les dockers
|
||||
|
||||
|
||||
|
||||
# installer une vm ubuntu "media" sur proxmox
|
||||
## creer un disque virtuel ?
|
||||
|
||||
# installer les dockers media dessus
|
||||
|
||||
- jellyfin
|
||||
|
||||
- radarr
|
||||
- sonarr
|
||||
|
||||
- jackett
|
||||
|
||||
# installer une vm ubuntu "production" sur proxmox
|
||||
|
||||
|
||||
# installer les dockers de vie courante dessus
|
||||
|
||||
- bitwarden
|
||||
|
||||
|
||||
Well done hardlinks
|
||||
https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths
|
32
Homelab/Réglages DNS pour yggtorrent.md
Executable file
32
Homelab/Réglages DNS pour yggtorrent.md
Executable file
|
@ -0,0 +1,32 @@
|
|||
|
||||
|
||||
|
||||
[FAQ et tutoriels | YGGLand](https://yggland.fr/FAQ-Tutos/)
|
||||
|
||||
# Cloudlare
|
||||
|
||||
1.1.1.1
|
||||
1.0.0.1
|
||||
|
||||
2606:4700:4700::1111
|
||||
2606:4700:4700::1001
|
||||
|
||||
# OpenDNS
|
||||
|
||||
208.67.222.222
|
||||
208.67.220.220
|
||||
|
||||
2620:119:35::35
|
||||
2620:119:53::53
|
||||
|
||||
# Réglages qui marchent
|
||||
|
||||
DNS de cloudflare
|
||||
|
||||
dns
|
||||
pas automatique
|
||||
|
||||
route automatique
|
||||
|
||||
|
||||
desactiver la wifi et lar eactiver sans quoi ca prend pas effet
|
25
Homelab/Symbolic links.md
Executable file
25
Homelab/Symbolic links.md
Executable file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
maturity: graine
|
||||
date: 2023-10-29T02:13
|
||||
---
|
||||
# Definition
|
||||
|
||||
Underneath the file system, files are represented by inodes. (Or is it multiple inodes? Not sure.)
|
||||
|
||||
A file in the file system is basically a link to an inode.
|
||||
A hard link, then, just creates another file with a link to the same underlying inode.
|
||||
|
||||
When you delete a file, it removes one link to the underlying inode. The inode is only deleted (or deletable/over-writable) when all links to the inode have been deleted.
|
||||
|
||||
A symbolic link is a link to another name in the file system.
|
||||
|
||||
Once a hard link has been made the link is to the inode. Deleting, renaming, or moving the original file will not affect the hard link as it links to the underlying inode. Any changes to the data on the inode is reflected in all files that refer to that inode.
|
||||
|
||||
Note: Hard links are only valid within the same File System. Symbolic links can span file systems as they are simply the name of another file.
|
||||
|
||||
# How to
|
||||
|
||||
|
||||
# Sources
|
||||
|
||||
https://stackoverflow.com/questions/185899/what-is-the-difference-between-a-symbolic-link-and-a-hard-link
|
57
Homelab/Todo Jarvis v2.md
Executable file
57
Homelab/Todo Jarvis v2.md
Executable file
|
@ -0,0 +1,57 @@
|
|||
# Services
|
||||
|
||||
- [ ] Homer
|
||||
- [x] Rajouter tous les dockers
|
||||
- [ ] Photoprism
|
||||
- [ ] Crash en boucle, jsp
|
||||
|
||||
## Media center
|
||||
|
||||
- [x] Quid des -arr
|
||||
|
||||
- [x] Rajouter auto des trucs à jellyfin
|
||||
|
||||
- [x] quid lien w qbittorrent
|
||||
|
||||
- [x] Jellyfin
|
||||
|
||||
- [x] sous-titres auto
|
||||
- [x] probleme lyne
|
||||
|
||||
# Management
|
||||
|
||||
- [ ] Portainer
|
||||
- [ ] The Docker API must be exposed over TCP
|
||||
NB. Force-recreate the docker sinon on peut pas se co je crois
|
||||
- [ ] Traefik
|
||||
- [ ] networks quid ? Ils dit ne pas les trouver mais ça marche quand meme
|
||||
- [ ] CAS system
|
||||
- [ ] keycloak
|
||||
- [ ] erreur lors du lancement
|
||||
|
||||
## Monitoring
|
||||
|
||||
- [ ] Dozzle
|
||||
https://github.com/amir20/dozzle
|
||||
- [ ] Kuma
|
||||
- [ ] Add every docker to it
|
||||
- [ ] Docker names in netdata
|
||||
https://learn.netdata.cloud/docs/agent/packaging/docker/#docker-container-names-resolution
|
||||
|
||||
|
||||
wake on lan
|
||||
|
||||
python tampons web ui
|
||||
process tool processmaker
|
||||
https redirect
|
||||
kodi
|
||||
hdd
|
||||
minecraft commands through ssh
|
||||
kanboard
|
||||
|
||||
pocket bike
|
||||
crontab ui
|
||||
gnassage des chars
|
||||
|
||||
instagram auto-post
|
||||
|
46
Homelab/Todo Nestor v3.md
Executable file
46
Homelab/Todo Nestor v3.md
Executable file
|
@ -0,0 +1,46 @@
|
|||
# Migrate services
|
||||
|
||||
- [x] obsidian livesync
|
||||
- [ ] watchtower
|
||||
- [ ] ntfy.sh
|
||||
- [ ] authelia
|
||||
- [ ] homarr
|
||||
- [ ] Torrent viz
|
||||
- [ ] speed viz
|
||||
- [ ] jellyfin viz
|
||||
- [ ] plausible
|
||||
- [ ] dashdot
|
||||
- [ ] your Spotify
|
||||
- [ ] Baikal agenda et contacts
|
||||
- [ ] instagram auto-post
|
||||
|
||||
|
||||
# Management
|
||||
|
||||
- [ ] Portainer
|
||||
- [ ] The Docker API must be exposed over TCP
|
||||
NB. Force-recreate the docker sinon on peut pas se co je crois
|
||||
- [ ] Traefik
|
||||
- [ ] networks quid ? Ils dit ne pas les trouver mais ça marche quand meme
|
||||
- [ ] CAS system
|
||||
- [ ] keycloak
|
||||
- [ ] erreur lors du lancement
|
||||
|
||||
## Monitoring
|
||||
|
||||
- [ ] Dozzle
|
||||
https://github.com/amir20/dozzle
|
||||
- [ ] Kuma
|
||||
- [ ] Add every docker to it
|
||||
- [ ] Docker names in netdata
|
||||
https://learn.netdata.cloud/docs/agent/packaging/docker/#docker-container-names-resolution
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# New services
|
||||
|
||||
- [ ] backrest
|
||||
|
46
Homelab/Todo Nestor v4.md
Executable file
46
Homelab/Todo Nestor v4.md
Executable file
|
@ -0,0 +1,46 @@
|
|||
**
|
||||
# Migrate services
|
||||
|
||||
- [ ] boquettemcmap
|
||||
- [ ] elo-ranker
|
||||
- [ ] freshrss
|
||||
- [x] gitea
|
||||
- [ ] immich
|
||||
- [x] jellyfin
|
||||
- [ ] minecraftserver
|
||||
- [ ] multilingual-emotion-wheel
|
||||
- [ ] nextcloud
|
||||
- [ ] open-webui
|
||||
- [ ] paperless-ngx
|
||||
- [ ] qbittorrent
|
||||
- [ ] sf4server
|
||||
- [ ] sonarr
|
||||
- [x] traefik
|
||||
- [ ] uptime-kuma
|
||||
- [ ] vaultwarden
|
||||
- [ ] watchtower
|
||||
|
||||
## Jellyfin
|
||||
|
||||
- [x] transfer files
|
||||
- [x] tranfer docker data
|
||||
- [x] up service
|
||||
- [x] ovh redirect
|
||||
- [ ] does the transcoding use graphical acceleration ?
|
||||
|
||||
## Qbittorrent
|
||||
|
||||
- [ ] Quid adresse IP ?
|
||||
- [ ] transfer files
|
||||
- [ ] tranfer docker data
|
||||
- [ ] up service
|
||||
- [ ] ovh redirect
|
||||
|
||||
## Immich
|
||||
|
||||
- [ ] where to store images ?
|
||||
- [ ] local ssd too small :( what to do ?
|
||||
- [ ] transfer files
|
||||
- [ ] tranfer docker data
|
||||
- [ ] up service
|
||||
- [ ] ovh redirect
|
|
@ -0,0 +1,4 @@
|
|||
Des errurs lorque jessaie de pull une image docker :
|
||||
ERROR: Get "https://registry-1.docker.io/v2/": context deadline exceeded
|
||||
ERROR: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
|
||||
|
36
Homelab/Troubleshooting/Jellyfin can't scan movies folder.md
Executable file
36
Homelab/Troubleshooting/Jellyfin can't scan movies folder.md
Executable file
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
type: problem
|
||||
---
|
||||
|
||||
# Problem
|
||||
When I try to scan the /movies library, it fails with this in the log :
|
||||
|
||||
```
|
||||
[13:43:24] [ERR] [50] MediaBrowser.Controller.Entities.BaseItem: Error retrieving children folder
|
||||
System.IO.FileNotFoundException: Can't find item path.
|
||||
File name: '/movies/Pok<6F>mon.Detective.Pikachu.2019.720p.BluRay.x264-[YTS.LT].mp4'
|
||||
at Emby.Server.Implementations.Library.ResolverHelper.SetInitialItemValues(BaseItem item, Folder parent, ILibraryManager libraryManager, IDirectoryService directoryService)
|
||||
at Emby.Server.Implementations.Library.LibraryManager.ResolvePaths(IEnumerable`1 files, IDirectoryService directoryService, Folder parent, LibraryOptions libraryOptions, String collectionType, IItemResolver[] resolvers)
|
||||
at Emby.Server.Implementations.Library.LibraryManager.ResolvePaths(IEnumerable`1 files, IDirectoryService directoryService, Folder parent, LibraryOptions libraryOptions, String collectionType)
|
||||
at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal2(IProgress`1 progress, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, CancellationToken cancellationToken)
|
||||
```
|
||||
|
||||
The pokemon movie does not exist anymore.
|
||||
|
||||
|
||||
# What I tried
|
||||
|
||||
## Deleting the movie
|
||||
|
||||
But I cant find it. Maybe it's in the db but not in the files ?
|
||||
A link said a refresh should correct this issue. Maybe it doesn't because there a "é" in the name ?
|
||||
|
||||
## Recreating a fresh install of jellyfin
|
||||
I created jellyfin2
|
||||
|
||||
Same problem. So should not be a db issue, i guess. Where is it getting the pokemon idea from ?
|
||||
|
||||
|
||||
|
||||
# Solution
|
||||
created empty text files with the exact name found in the logs so it could go though the import process. I cannot delete the movies from jellyfin though, or else it breaks again.
|
4
Homelab/Troubleshooting/PostgreSQL permission denied.md
Executable file
4
Homelab/Troubleshooting/PostgreSQL permission denied.md
Executable file
|
@ -0,0 +1,4 @@
|
|||
permission delied erros répétées en boucle sa s action sur la bdd
|
||||
|
||||
May 2015 Fsync Permissions Bug - PostgreSQL wiki
|
||||
https://wiki.postgresql.org/wiki/May\_2015\_Fsync\_Permissions\_Bug
|
15
Homelab/Troubleshooting/mySql db access denied.md
Executable file
15
Homelab/Troubleshooting/mySql db access denied.md
Executable file
|
@ -0,0 +1,15 @@
|
|||
|
||||
# Problem
|
||||
my docker compose installation og gitea is not working, I am getting this error :
|
||||
|
||||
```
|
||||
Error: Error 1045 (28000): Access denied for user 'gitea'@'172.24.0.12' (using password: YES)"
|
||||
```
|
||||
|
||||
# Solution
|
||||
yosifikit on github :
|
||||
> Have you changed the passwords since you first tried running the containers? docker-compose does extra work to preserve volumes between runs (thus preserving the database); you may want to try `docker-compose rm -v` to delete everything and try starting it up again.
|
||||
|
||||
sourece : https://github.com/docker-library/mysql/issues/51
|
||||
|
||||
et ça marche ! au bout d'1 heure ! hurray
|
113
Homelab/ZFS file system.md
Executable file
113
Homelab/ZFS file system.md
Executable file
|
@ -0,0 +1,113 @@
|
|||
---
|
||||
type: article
|
||||
date: 2024-11-29T13:34
|
||||
maturity: graine
|
||||
---
|
||||
|
||||
# Definition
|
||||
ZFS (Zettabyte File System) is an advanced file system and volume manager originally developed by Sun Microsystems. It is designed to provide high storage capacity, data integrity, and advanced features for managing file systems and disks. Here’s an overview:
|
||||
|
||||
|
||||
---
|
||||
|
||||
Key Features of ZFS
|
||||
|
||||
1. Data Integrity
|
||||
|
||||
ZFS uses checksums to detect and automatically correct data corruption (bit rot). It ensures that data read from the disk is accurate.
|
||||
|
||||
|
||||
|
||||
2. Snapshots and Clones
|
||||
|
||||
Snapshots: Read-only copies of a file system at a specific point in time. Useful for backups.
|
||||
|
||||
Clones: Writable copies of snapshots. They share data blocks, saving storage space.
|
||||
|
||||
|
||||
|
||||
3. Compression and Deduplication
|
||||
|
||||
Built-in compression reduces storage usage.
|
||||
|
||||
Deduplication eliminates duplicate data blocks, though it requires significant RAM and CPU.
|
||||
|
||||
|
||||
|
||||
4. RAID-like Functionality (RAID-Z)
|
||||
|
||||
ZFS includes its own software RAID (RAID-Z), providing redundancy without the need for hardware RAID cards. It supports:
|
||||
|
||||
RAID-Z1 (single parity, similar to RAID 5)
|
||||
|
||||
RAID-Z2 (double parity, similar to RAID 6)
|
||||
|
||||
RAID-Z3 (triple parity for greater redundancy).
|
||||
|
||||
|
||||
|
||||
|
||||
5. Scalability
|
||||
|
||||
Handles extremely large storage volumes, up to exabytes, making it suitable for enterprise and personal use.
|
||||
|
||||
|
||||
|
||||
6. Pooled Storage
|
||||
|
||||
ZFS combines file system and volume management, allowing multiple drives to be combined into a single storage pool (zpool).
|
||||
|
||||
|
||||
|
||||
7. Copy-on-Write (COW)
|
||||
|
||||
Data is written to a new location before overwriting, ensuring the original data remains intact until the write is complete.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
Pros of ZFS
|
||||
|
||||
High reliability and data protection.
|
||||
|
||||
No additional volume manager required (e.g., LVM).
|
||||
|
||||
Advanced features like snapshots, deduplication, and compression.
|
||||
|
||||
Efficient use of storage with pooled storage and RAID-Z.
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
Cons of ZFS
|
||||
|
||||
Resource Intensive: Requires significant RAM (recommended: 1 GB of RAM per TB of storage).
|
||||
|
||||
Not Ideal for Small Systems: Better suited for servers and systems with large storage requirements.
|
||||
|
||||
Limited Native Support: Not natively supported in some Linux distributions; requires packages like zfs-utils.
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
Use Cases
|
||||
|
||||
NAS Systems: Common in TrueNAS and OpenMediaVault for redundancy and integrity.
|
||||
|
||||
Backup Solutions: Snapshots and cloning are ideal for incremental backups.
|
||||
|
||||
High-Capacity Storage: Used in enterprise environments for large-scale storage.
|
||||
|
||||
|
||||
ZFS is especially popular in environments requiring high reliability and storage efficiency.
|
||||
|
||||
|
||||
|
||||
# Sources
|
||||
|
||||
chatGPT
|
80
Homelab/fix grub if linux doesn't boot.md
Executable file
80
Homelab/fix grub if linux doesn't boot.md
Executable file
|
@ -0,0 +1,80 @@
|
|||
|
||||
sudo nano /etc/fstab
|
||||
|
||||
|
||||
|
||||
The error indicates that the system is trying to mount /dev/nvme0n1p3, but it’s not listed correctly in /etc/fstab or the UUIDs/labels don’t match. Here’s how to resolve this issue:
|
||||
|
||||
|
||||
---
|
||||
|
||||
1. Boot into the System Temporarily
|
||||
|
||||
Use GRUB commands to boot into your system, as you did previously:
|
||||
|
||||
set root=(hd0,gpt6)
|
||||
linux /boot/vmlinuz-5.15.0-130-generic root=/dev/nvme0n1p3 ro
|
||||
initrd /boot/initrd.img-5.15.0-130-generic
|
||||
boot
|
||||
|
||||
Replace /dev/nvme0n1p3 with the correct partition if needed.
|
||||
|
||||
|
||||
---
|
||||
|
||||
2. Check /etc/fstab
|
||||
|
||||
Once the system boots, open /etc/fstab to verify the partition setup:
|
||||
|
||||
Look for the line referring to the root filesystem (/). It should match the correct UUID or device name.
|
||||
|
||||
|
||||
---
|
||||
|
||||
3. Find the Correct UUID
|
||||
|
||||
Run the following command to list all partition UUIDs:
|
||||
|
||||
lsblk -f
|
||||
|
||||
Identify the UUID of /dev/nvme0n1p3 (or your root partition).
|
||||
|
||||
|
||||
---
|
||||
|
||||
4. Update /etc/fstab
|
||||
|
||||
Replace the incorrect entry in /etc/fstab with the correct UUID for the root partition. For example:
|
||||
|
||||
UUID=correct-uuid / ext4 defaults 0 1
|
||||
|
||||
Save and exit.
|
||||
|
||||
|
||||
---
|
||||
|
||||
5. Update GRUB
|
||||
|
||||
After fixing /etc/fstab, update GRUB to ensure the correct configuration is saved:
|
||||
|
||||
sudo update-grub
|
||||
sudo grub-install /dev/nvme0n1
|
||||
|
||||
|
||||
---
|
||||
|
||||
6. Reboot
|
||||
|
||||
Reboot the system and verify that it starts correctly:
|
||||
|
||||
sudo reboot
|
||||
|
||||
|
||||
---
|
||||
|
||||
If you still encounter issues, share the output of lsblk -f and the contents of /etc/fstab for further troubleshooting.
|
||||
|
||||
|
||||
|
||||
source : chatgpt
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
Des errurs lorque jessaie de pull une image docker :
|
||||
ERROR: Get "https://registry-1.docker.io/v2/": context deadline exceeded
|
||||
ERROR: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
|
||||
|
4
Homelab/problems & solutions/PostgreSQL permission denied-1.md
Executable file
4
Homelab/problems & solutions/PostgreSQL permission denied-1.md
Executable file
|
@ -0,0 +1,4 @@
|
|||
permission delied erros répétées en boucle sa s action sur la bdd
|
||||
|
||||
May 2015 Fsync Permissions Bug - PostgreSQL wiki
|
||||
https://wiki.postgresql.org/wiki/May\_2015\_Fsync\_Permissions\_Bug
|
1
Homelab/problems & solutions/PostgreSQL permission denied.md
Executable file
1
Homelab/problems & solutions/PostgreSQL permission denied.md
Executable file
|
@ -0,0 +1 @@
|
|||
https://wiki.postgresql.org/wiki/May\_2015\_Fsync\_Permissions\_Bug
|
46
Homelab/problems & solutions/Random sleep.md
Executable file
46
Homelab/problems & solutions/Random sleep.md
Executable file
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
date: 2022-02-02
|
||||
---
|
||||
|
||||
|
||||
# sleep out of nowhere
|
||||
02/02/2022
|
||||
jsp pk, le serveur d'est mis à sleep et a ne plus etre dispo sur le réseau
|
||||
|
||||
voilà les logs de syslog :
|
||||
|
||||
```
|
||||
Feb 2 15:17:42 jarvisv2 NetworkManager[94577]: <info> [1643811462.4147] manager: sleep: sleep requested (sleeping: no enabled: yes)
|
||||
Feb 2 15:17:42 jarvisv2 NetworkManager[94577]: <info> [1643811462.4149] manager: NetworkManager state is now ASLEEP
|
||||
Feb 2 15:17:42 jarvisv2 ModemManager[94257]: <info> [sleep-monitor] system is about to suspend
|
||||
Feb 2 15:17:42 jarvisv2 gnome-shell[1356]: Screen lock is locked down, not locking
|
||||
Feb 2 15:17:42 jarvisv2 systemd[1]: Reached target Sleep.
|
||||
Feb 2 15:17:42 jarvisv2 systemd[1]: Starting Record successful boot for GRUB...
|
||||
Feb 2 15:17:42 jarvisv2 systemd[1]: Starting Suspend...
|
||||
Feb 2 15:17:42 jarvisv2 systemd-sleep[134996]: Suspending system...
|
||||
Feb 2 15:17:42 jarvisv2 kernel: [ 2671.629242] PM: suspend entry (s2idle)
|
||||
Feb 2 15:17:42 jarvisv2 systemd[1]: grub-common.service: Succeeded.
|
||||
Feb 2 15:17:42 jarvisv2 systemd[1]: Finished Record successful boot for GRUB.
|
||||
```
|
||||
|
||||
il est expliqué ici
|
||||
|
||||
https://www.unixtutorial.org/disable-sleep-on-ubuntu-server
|
||||
|
||||
comment désactiver le sleep
|
||||
mais j'aimerais bien savoir pourquoi il sleep le petit batard
|
||||
|
||||
qui lui demande ?
|
||||
il est resté allumé un peu plus d'1h aujourdhui, puis 25min
|
||||
c pas scheduled on dirait
|
||||
|
||||
au final jsp pk, mais j'ai suivi ça :
|
||||
https://www.tecmint.com/disable-suspend-and-hibernation-in-linux/
|
||||
|
||||
et ça
|
||||
|
||||
https://askubuntu.com/questions/259544/remove-gui-on-ubuntu-server
|
||||
( j'ai executé sudo apt-get remove xserver-xorg-core)
|
||||
|
||||
|
||||
voilou
|
10
Homelab/scraping leboncoin.md
Executable file
10
Homelab/scraping leboncoin.md
Executable file
|
@ -0,0 +1,10 @@
|
|||
basic scrapy does not work
|
||||
because utilise
|
||||
AI DataDome
|
||||
|
||||
headless browsers :
|
||||
- zennoposter
|
||||
- selenium
|
||||
- chromedriver
|
||||
- puppeteer
|
||||
- "Go Node.js + Puppeteer, tu pourras piloter un full browser Chrome en headless, depuis un script master en Node :slight_smile:"
|
25
Homelab/termux setup.md
Normal file
25
Homelab/termux setup.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
type: ressource
|
||||
date: 2025-03-04T12:07
|
||||
maturity: graine
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
[Installing ZSH on Termux including themes & useful plugins · GitHub](https://gist.github.com/rahaaatul/cc47d88dddd73a684e67bfa0f8b57d9d)
|
||||
|
||||
|
||||
Allow termux to access local files
|
||||
-
|
||||
|
||||
Save git credentials
|
||||
-
|
||||
|
||||
Remove dubious ownership
|
||||
git config --global --add safe.directory /storage/emulated/0/Documents/pkb-perso
|
||||
|
||||
git config --global user.email "achille.toupin@laposte.net"
|
||||
git config --global user.name "gribse-termux"
|
||||
|
||||
# Sources
|
9
Homelab/ycombinator.md
Executable file
9
Homelab/ycombinator.md
Executable file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
type: article
|
||||
date: 2023-11-24T21:55
|
||||
maturity: graine
|
||||
---
|
||||
|
||||
https://news.ycombinator.com/
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue