SelfHosting things
  • CSS 94.2%
  • Python 4.7%
  • Shell 1.1%
Find a file
Crizomb 8221f2d837 bump
2026-06-27 18:31:05 +02:00
Containers bump 2026-06-27 18:31:05 +02:00
Scripts bump 2026-06-27 18:31:05 +02:00
.gitignore Forgejo theming 2026-06-14 18:55:13 +02:00
README.md Update README.md 2026-04-11 23:27:04 +02:00
start_all.sh added scripts + readme typo 2026-02-08 22:54:08 +01:00
stop_all.sh added scripts + readme typo 2026-02-08 22:54:08 +01:00
stop_very_all.sh added scripts + readme typo 2026-02-08 22:54:08 +01:00

Selfhosting personnal repo

My very simple self-hosting setup. On my new mini-pc. Gettings things simpler & simpler overtime. Check branch : archive_01 for old setup.

Not 100% reproductible (Maybe one day NixOs?), some light debugging & manual adjust when migrating. See random dump at the end

Hardware & OS

  • Origimagic C2 Neo Mini PC
  • N95 Alder Lake
  • 12gb ddr5
  • 512gb internal nvme
  • 1 To external USB SSD (For nextcloud files)

Stack

  • Debian13
  • Tailscale (VPN)
  • Docker (with compose)

Networking

For private apps :

  • Heavy use of Tailscale sidecar (see network_mode: "service:myapp-ts")

For publics apps :

  • Forgejo on a cloudflare tunnel
  • Nextcloud and Navidrome on a pangolin tunnel

Services

  • Forgejo (git repo management)
  • Nextcloud (google drive replacement)
  • Navidrome (Music streaming)
  • Beszel (Server monitoring)
  • RSSHub (RSS feed generator)
  • FreshRSS (RSS feed agregator)
  • Metube (Media downloader)
  • PangolinNewt (Tunneling to a cheap VPS)

CI

  • Forgejo runners on an old laptop.

Backup

Done with restic (encrypted backup), inside family NAS. Managed via root crontab :

0 6 * * * restic -r /mnt/backup/usb-ssd-01 --password-file /root/.restic-pass backup /mnt/usb-ssd-01 && restic -r /mnt/backup/usb-ssd-01 --password-file /root/.restic-pass forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune >> /var/log/restic.log 2>&1

0 5 * * * restic -r /mnt/backup/self-hosting --password-file /root/.restic-pass backup /home/mini-pc-01/SelfHosting && restic -r /mnt/backup/self-hosting --password-file /root/.restic-pass forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune >> /var/log/restic.log 2>&1

Random dump / doc

Nextcloud

group & user : 33, chown nextcloud folders

Music folder owned by 1000 (for navidrome access) But I want nextcloud to also be able to move those files (easy access & add)

Solution :

sudo apt install acl
sudo setfacl -R -m u:33:rwx /.../.../Music

Also Nextcloud crontab thingy

sudo crontab -e
*/5 * * * * docker exec -u www-data nextcloud php /var/www/html/cron.php

Forgejo

postgres complaining when networking change : Check pg_hba.conf, change it if needed

Navidrome

Because external mess, Nextcloud can modify files etc...

[scanner]
PurgeMissing = "always"
  • Old laptop as test server (probably on new branch)
  • Maybe graphana things one day