90 lines
2.1 KiB
Markdown
90 lines
2.1 KiB
Markdown
# 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
|
|
|
|
Heavy use of Tailscale sidecar (see network_mode: "service:myapp-ts") :
|
|
- Https without much efforts
|
|
- Easy domain name with MagicDNS (ending in rufous-trench.ts.net).
|
|
- Both VPN access for best-perf, and funnel for public access without opening ports.
|
|
|
|
Inconvenients :
|
|
- Vendor lock-in for networking. Even if tailscale seems cooler than cloudflare, it's still a vendor lock-in
|
|
- Not so wide adoption, need often manual thinkering
|
|
|
|
## Services
|
|
|
|
- Forgejo (git repo management)
|
|
- Nextcloud (google drive replacement)
|
|
- Navidrome (Music streaming)
|
|
|
|
## CI
|
|
|
|
- Forgejo runners on my school computers for the moment lol. With podman for easy rootless containers.
|
|
|
|
## Backup
|
|
|
|
#TODO rsync thingy to family NAS
|
|
|
|
# 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 :
|
|
|
|
```bash
|
|
sudo apt install acl
|
|
sudo setfacl -R -m u:33:rwx /.../.../Music
|
|
```
|
|
|
|
Also Nextcloud crontab thingy
|
|
|
|
|
|
```bash
|
|
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...
|
|
```toml
|
|
[scanner]
|
|
PurgeMissing = "always"
|
|
```
|
|
|
|
## TODO / Random vaguely related projects
|
|
|
|
- Home assistant
|
|
- Old laptop as test server (probably on new branch)
|
|
- Wake on Wan for computer desktop via rasberry pi
|
|
- Old phones used for dashboard
|
|
- Maybe graphana things one day
|