linux
SSH Docker Helix

https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_introduction
Instalar Proxmox en un Mini PC - Aguacatec

Hostname:pve
Adress: 192.168.68.33/24
Gateway: 192.168.68.1
https://192.168.68.33:8006 proxmox pve
root 77Laekinu.7

ssh alias
https://escribano.dev/es/blog/023-ssh-keys-config/

  • ssh nginxproxymanager → 192.168.68.59
  • ssh adguard → 192.168.68.73
  • ssh docker-arr → 192.168.68.74
  • ssh lua-hermes → 192.168.68.81
  • ssh uptimekuma → 192.168.68.70
  • ssh jellyfin-gpu → 192.168.68.52

kanpotik sartzerakoan cloudflare-ren email autentikazioarekin, gero shell-era sartzeko batzutan arazoa emanten du eta deskonektau. orduan VNC-tik pveproxy reiniziatu:
systemctl restart pveproxy

Tailscale linux ordenadoren instalatzeko:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up (tailscale martxan jarri)
gero ssh bidez
tailscale serve ./Descargas (ruta hau eta barrukoa konpartitzen dezu tailenet barrukoekin)
tailscale funne ./Descargas (ruta hau eta barrukoa konpartitzen dezu interneten edozeinekin)
sare (tailnet) berdinen: proxmox - slimbook - contabo - pixel - oracle-

Proxmenux:

https://github.com/MacRimi/ProxMenux
menu idatzi pve ko kontsolan
ProxMenux Monitor : http://192.168.68.33:8008

Scripts desberdinak
https://community-scripts.github.io/ProxmoxVE/scripts
post-install:
bash -c ”$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)”

proxmox-eko hosteko kopia seguridad egiteko:
nano /usr/local/bin/proxmox-host-backup.sh

qm destroy 300 (Vm bat borratzeko)
lxc bakoitzan update jarri ezkero bertsioak eguneratzen ditu.
passwd (LXC barrruan root bezela kontraseña aldatzeko)

restore egiteko:

Para restaurar un contenedor LXC desde un archivo de backup en formato vzdump en Proxmox, sigue estos pasos:

ls -lh /mnt/pve/nagusia-usb/dump/ (ezin da USB batetik restore egin), lokalera kopiatu behar dira lehenengo

mkdir -p /var/lib/vz/dump
cp /mnt/pve/nagusia-usb/dump/*.tar.zst /var/lib/vz/dump/
Copia el archivo de backup (vzdump-lxc-XXX.tar.zst) desde el NAS al directorio de backups de Proxmox:

    `cp vzdump-qemu-301-2025_02_20-02_07_18.vma.zst /var/lib/vz/dump/`

Instead of

scp local/path/some_file usr@server.com:"/some/path/"

you can just do

rsync -avz --progress local/path/some_file usr@server.com:"/some/path/"

Confirma que el archivo está en /var/lib/vz/dump/:
ls /var/lib/vz/dump/

Usa el comando pct restore para restaurarlo. Por ejemplo:
pct restore 100 /var/lib/vz/dump/vzdump-lxc-XXX.tar.zst --storage local-lvm

Reemplaza 100 con el ID que deseas asignar al contenedor.

Cambia local-lvm por el nombre del almacenamiento donde quieres restaurarlo.

Confirma que se restauró correctamente:
pct list

contenedoretan sartzeko:
pct enter ID pct enter 104
Inicia el contenedor si está detenido:
pct start 100

en el caso de VMs:
https://www.nakivo.com/es/blog/top-10-proxmox-cli-commands/
Se utiliza el comando qmrestore en lugar de pct restore:
qm terminal 109 (terminaletik sartzeko)

remote backup

https://dashboard.remote-backups.com/dashboard

Host: fra1-ingress.pbs-host.de
User: user-68d4ed6f9ccd6f7574bfb787@pbs!connect
Password: 979ae218-09fd-4e33-a75b-894f7e96037f
Datastore: 68d4ed6f9ccd6f7574bfb787
Fingerprint: EF:CD:FA:C6:DD:3D:15:A9:0F:FD:42:19:3D:CE:67:1C:DD:60:74:C9:17:55:CE:7D:D3:5D:00:02:F6:64:82:CA

qmrestore /var/lib/vz/dump/vzdump-qemu-VMID-FECHA.vma.zst NUEVO_VMID --storage local-lvm

CT is locked (snapshot-delete) error
pct unlock 102
and also delete the failed snapshot:
pct delsnapshot 102 vzdump
After these two commands the LXC containter should be startable.

https://elblogdelazaro.org/posts/2023-05-01-utilizar-los-servidores-dns-de-cloudflare-para-tu-dominio/

https://192.168.68.61 cloudflare - LXC root 77lua3
https://forum.cloudron.io/topic/10395/cloudron-proxmox-cloudflare-tunnels

curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && 

sudo dpkg -i cloudflared.deb && 

sudo cloudflared service install <your token details here>

cloudflared service uninstall (arazoren bat badago kendu eta berriro instalatu tunela)

http://192.168.68.59:81/ nginx proxy manager LXC(sare barruan https erabiltzeko)

local diskoa %87 gora de repenten eta nagusia-usb n behera
batzutan USB diskoak arazoa ematen badu bertan egin behar dituen kopiak local barruan egiten hasten da eta diskoa betetzen du.
nagusia-usb desmontatu eta borratu /mnt/nagusia-usb barruan ikusten dana.
pct stop 105
pct stop 106
umount /mnt/pve/nagusia-usb
ncdu /mnt/pve/nagusia-usb
d teklakin borratzen jun
mount /mnt/pve/nagusia-usb (berriro montatu)

Ansible

http://192.168.68.66 - Ansible root 77lua3
Ansible installaton documentation
Modules
galaxy repository for playbooks

ansible-doc -l (instalauta dauden kolekzio danak listatzeko)
ansible-doc ping (modulo konkretu bat ikusteko)

sudo apt install ansible
sudo apt install python-argcomplete

ansible -i inventory npm -m ping inventorytik npm makinan ping bat egiteko
ansible -i inventory npm -m command -a “touch /home/ansible/artxibo.txt”
ansible -i inventory npm -m copy -a “src=dir1 dest=/home/ansible” dir1 direktorioa kopiatzeko
ansible -i inventory npm -b -K -m apt -a "update-cache=yes", hemen -b (become user privilege, sudo bezela ejekutatzeko) eta -K (paswword-a eskatzeko)
ansible -i inventory npm -b -K -m apt -a "upgrade=dist”

ansible.cfg (konfigurazioa) oinarrizkoa /etc/ansible/ansible.cfg da baina bertan jartzen duen bezela guk gurea sortu dezakegu edozein lekutan eta hori erabili. bertan konfiguratu daiteke inventary,…
horrela ez da -i inventory beti erabili behar.
ansible-config init --disabled -t all > ansible.cfg
ansible all -m ping

ansible-playbook ping.yaml (playbook barruan moduloen izen osoa erabili behar da)
ansible-playbook -K update.yaml

ssh bidez konektatzen da beste nodoetan baina ez du ezer instalatzen. komeni da ansible usuarioa sortu eta pirvilegioak eman beste nodotan
systemctl status sshd (konfirmatzeko ssh martxan dagoela)
Nodo danetan ansible usuarioa sortu eta sudo grupoan sartuko degu
useradd -d /home/ansible -m -g sudo -s /bin/bash ansible
passwd ansible kontraseña jartzeko 77lua3
autentikazioakin egiteko:
ansible-ko nodoan : ssh-keygen (klabe publikoeta pribatuak sortzeko)
ssh-copy-id 192.168.68.61 (klabe publikoa beste nodoetan kopiatzeko)

IP-n ordez izen bat erabiltzeko /etc/hosts fitxeroan sartu daitezke
192.168.68.61 cloudflare

192.168.68.35 docker
161.97.168.69 con

komando basikoak builtin barruan daude https://docs.ansible.com/ansible/2.9/modules/modules_by_category.html

adguard

Network Connected: 192.168.68.73 xabi 77Laekinu.7
https://www.youtube.com/watch?v=VrCQOElnDic&t=91s&ab_channel=JonatanCastro

Immich

http://192.168.68.78:2283 por ssh root 77lua3
xlizarralde@gmail.com 77Laekinu.7
https://docs.immich.app/overview/quick-start/
https://community-scripts.github.io/ProxmoxVE/scripts?id=immich&category=Media+%26+Streaming
https://www.youtube.com/watch?v=_jzXxi5Dd_g
Location of config file: /opt/immich/.env

rsync -avz -e “ssh -p 22” xabi@161.97.168.69:/home/xabi/documentos/self-hosted/photoprism/Pictures/ /opt/immich/upload/upload
crontab -e (egunero sinkronizatzeko jarrita)

rsync -avz -e “ssh -p 22” xabi@161.97.168.69:/home/xabi/documentos/self-hosted/photoprism/Import/Google_Fotos_20240919/ /opt/immich/upload/upload
kontutan hartu photoprism-en /home/xabi/documentos/self-hosted/photoprism/Import/Google_Fotos_20240919/ daudela ere ordurarteko argazki danak, EZ PICTURES barruan

Immich intentaba cargar esos álbumes en la aplicación a pesar de que no estaban seleccionados como álbumes de copia de seguridad. Resulta que la app immich tiene una forma de excluir álbumes tocando dos veces la pantalla; una vez que lo hice en todos los álbumes compartidos, la app empezó a funcionar con normalidad.

API_KEY con permisos total: Smoo01OjT0LIQBW9P1erh0HpKdl9FWQAJ51ebMo3nc
immich-go upload from-folder —server=http://localhost:2283 —api-key=Smoo01OjT0LIQBW9P1erh0HpKdl9FWQAJ51ebMo3nc /opt/immich/upload/upload/

photoprism2immich —apikey “Smoo01OjT0LIQBW9P1erh0HpKdl9FWQAJ51ebMo3nc” —baseapiurl “http://localhost:2283/api” —originals “/home/xabi/documentos/self-hosted/photoprism/Pictures/“

Nginx proxy manager

192.168.68.59:81
xlizarralde@gmail.com 77Laekinu.6
certificados SSL con nginx-proxy manager y cloudflare

tailscale
tailscale up --advertise-routes=192.168.68.0/24 --advertise-exit-node

https://nosololinux.es/modificar-el-nombre-de-un-contenedor-lxc-en-proxmox/

If you have to find the IP address of the LXC container, you can run the ip addr command below to access it.

https://www.vichaunter.org/como-se-hace/montar-carpetas-del-host-contenedores-lxc-kvm-proxmox
nano /etc/pve/lxc/101.conf
mp0: /mnt/disco,mp=/carpeta/contenedor
mp0: /mnt/pve/NFS_NAS,mp=/media/NFS_NAS (DIETPI-ko VMn NAS-eko karpeta montatzeko)

docker_ARR

192.168.68.74 root 77lua3
https://www.jonatancastro.com/como-ver-peliculas-gratis-con-tu-propio-servidor-multimedia/
https://www.youtube.com/watch?v=t1RWOydFWy8&list=PLFHsAbQaNdXtCFZsuQKNf7XwDyRNOP1fH&index=22&ab_channel=JonatanCastro
/root/docker (karpeta nagusia docker-compose)
/media/downloads jeisten diren artxiboak qbitorrent-ekin
/media/sync (syncthing-ekin sinkronizatzeko docker-eko filebrowser-ekin)

qbittorrent port 8080 admin 77lua3
radarr port 7878 xabi 77lua3 (pelikulak)
sonarr port 8989 xabi 77lua3 (serieak)
prowlarr port 9696 xabi 77lua3 (indexadoreak)
jellyfin port 8096 xabi 77lua3
plex port 32400 http://192.168.68.74:32400/web lualiza 77Laekinu.7
filebrowser port 80 xabi 77lua3
syncthing port 8384 xabi 77lua3 (filebrowser-eko torrent karpetara sinkronizatuta HAU EZ!!

jellyfin

192.168.68.52 root 77lua3
https://www.jonatancastro.com/jellyfin-en-proxmox-con-aceleracion-por-gpu/
nombre servidor:jellyfin-GPU
gelato

AIOstream

192.168.68.86:3000 xabi 77lua3
para añadirlo a jellyfin a traves del complemento Gelato

Home assistant

192.168.68.79

uptime - kuma

192.168.68.70:3001

openclaw (kenduta)

192.168.68.76
http://192.168.68.76:18789/ dashboard
proxmox-etik sartzeko ssh bidez
ssh xabi@192.168.68.76

Dashboard URL: http://127.0.0.1:18789/
Token auto-auth included in browser/clipboard URL.
95c3168ecdcd1f523ae84750b888e88cfe778efaf04f518d

No GUI detected. Open from your computer:
ssh -N -L 18789:127.0.0.1:18789 xabi@192.168.68.76
Then open:
http://localhost:18789/
Docs:
https://docs.openclaw.ai/gateway/remote
https://docs.openclaw.ai/web/control-ui

hermes-agent LUA

192.168.68.81
URL: http://192.168.68.81:9119
Usuario: hermes · Contraseña: 77lua3

gateway
su - hermes (para pasar a hermes) y luego hermes
URL: http://192.168.68.81:9119
https://hermes-agent.nousresearch.com/docs/getting-started/installation
Usuario: xabi · Contraseña: 77lua3

openrouter: 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
su - hermes (para pasar a hermes) y luego hermes

https://hermes-agent.nousresearch.com/docs/getting-started/installation
Skills

00 - Skills Hermes
openrouter: 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
https://github.com/alexgreensh/token-optimizer

Skills

00 - Skills Hermes
🚀 Hermes Agent setup has been successfully initialized!
https://github.com/alexgreensh/token-optimizer
💡 Configure your model provider and gateway server inside the container:

hermes-setup

💡 When prompted to install the gateway service, choose ‘user service’.
🚀 Hermes Agent setup has been successfully initialized!
💡 Key for Hermes API Server stored in:
💡 Configure your model provider and gateway server inside the container:
/home/hermes/.hermes/.env
hermes-setup

💡 When prompted to install the gateway service, choose ‘user service’.
💡 Key for Hermes API Server stored in:
/home/hermes/.hermes/.env

Apache-CouchDB (para sincronizar obsidian)

http://192.168.68.91:5984/_utils/
admin HQpEytgxADGQU (77lua3)
con caddy desde vps obsidian.xabi.ovh

frase de contraseña cifrado entre dispositivos 77lua3
Link de sincronizar dispositivos
obsidian://setuplivesync?settings=%25%247btQaE5ewkGPqnhNApv%2Bd4IHWQTNaBw0EoTjfU5gQzpi%2BqKCesMGGpP9syuEHEifHi3QTRuETkYsw5mi5DFvdeteV9Ejz42UjBEnJt5ueVb%2F8ecIOtia3T7CTOrVabd4B8dKMNM3DSuvkHOO4mISnPfgWyT2ng0i8rwU8E8ZDQVuy4jy7SsiqpcF4btrtkf%2FgcwRiWhwH2JktSQfBEwbU9BXuTeyBh7u8hPaffYvWteOULHl53tNtF4D%2B0Y78ZZOxECSpbyANL2Ydqc5SBjjvnnfywXO1Hj4JhwImI1ip5ktV8l48J4e4r7AXDhh%2FrOEhshsAltwuSagRceGmXzUK1nO2heuDEWvOrNgxpVOWk4N%2FLxBdK%2B5kcHI0pNFfGs7eLpGlRzlvayY2kZRIGNtLJfD3LV%2BcXQEDdB8i%2B1jYo4%2ByTPxMbFVa0LKw3125AOFS8u06CQhZyMQCD2ZwLT%2F3%2BrROU2k52o5C83VuGiY0acdR3Oi2WiFDE5SxQW%2B9PG69s4TE2Y%2Buwf0UJ9YqxN8isFGSPAP2UQTfhUdn%2Fl9Tt6o4SenAqSlF9it%2BDjo3As8WQRyJHNmB%2BakQLQuiTDBHzfnyGRQzAmNLgcYLNx%2FTSqIx3KoxoEpz8XiTqNNcvWmLFnRQ7Il%2FvxUTabTW2N4sij9Vy2eHwI8AmcSNVIIWpbXZXaGRwP8sUHi%2BPKkBw3BZqT%2FWoIl7%2FJ9iCyyfCM6xJ2m%2FhPewuqZmcKERHzMkXBu5xjex%2FE%2BR%2FmDKE%2BwPHk5fqsEk6zgxFd0v9ZXBymxOnXJ1aJLHF%2BO67JDKoeLMygoKwB87hQzP0aoaVTgzPCwXqBY78zxNcSK2wOGrGcm91t70AEYle%2FdHWlhz%2Fn0Yxlg6PsyEjVHJiU%2Bm40B9vkj5PuMFbvW%2FB5Y7ILVGjwXR3rUwsKzAfMdCTLqvl5SR%2Bl1mK3Rn37jIy1BJXKZjzPahIzzYPIr57wJ8Qnz63ehwF3SqeT%2FCakbiNQeide1ZwVQ4cCiD0qehIMEuAUTitNl3pF%2FGviuuWE9K13mx7htG8SUMfSTMrudaeMCxhsz5V5Se%2FL%2F%2BvNOClghCB62rIV%2FYihhh3SwAwtIltNsez7OmLLrXig6aa5xnSJLnTtKbVUDEL4uzQ1yRk7hpNjFOCCc%2FfiXmwp1ZEVj8%2FnSDZtCdyTzU7dyALOBxPgXePR96Dyk4rElj7dLs7S47xEh6UM50HH5x%2F%2BnC9HU3G9Eost07DaAJWiGPodKDsKPWdMfbrNOr3jkpzUfeq4dOR1psIhhva1Y9g%2BgqBlKWqg%2BPgOBgSvKSjCAPrz%2BgEt3wvA%3D

mercury mesh sarea
automatiko zegoenean
primary 212.142.173.65
secondary 77.26.11.233

primary 192.168.68.73
secondary (8.8.8.8)ez bada ezer jartzen primaryak ez badauka konexiorik internetik gabe gelditzen da

cloudflare
1.1.1.3
1.0.0.3

DNS Settings
https://dns10.quad9.net/dns-query
https://dns.adguard-dns.com/dns-query
tls://dns.adguard-dns.com
tls://security.cloudflare-dns.com
https://security.cloudflare-dns.com/dns-query
tls://dns.adguard.com
tls://dns.quad9.net

allowed list:

ealenn list
https://raw.githubusercontent.com/Ealenn/AdGuard-Home-List/gh-pages/AdGuard-Home-List.Allow.txt

ignis (obsidian)

Obsidian
Ignis (Obsidian)
http://192.168.68.82:8080
https:\ignis.xabietxe.ovh

Ignis runs Obsidian in the browser by reimplementing the Electron APIs Obsidian uses, keeping your vaults on the server. It supports multiple vaults, plugins, file upload/download and sync across browser tabs, so you can access your Obsidian vault from any device without a desktop client.