reprepro
wget https://github.com/nicholaswilde/homelab/raw/refs/heads/main/pve/reprepro/debian/conf/override.bullseye -O /srv/reprepro/debian/conf/override.bullseye
wget https://github.com/nicholaswilde/homelab/raw/refs/heads/main/pve/reprepro/debian/conf/override.bookworm -O /srv/reprepro/debian/conf/override.bookworm
wget https://github.com/nicholaswilde/homelab/raw/refs/heads/main/pve/reprepro/ubuntu/conf/override.oracular -O /srv/reprepro/ubuntu/conf/override.oracular
wget https://github.com/nicholaswilde/homelab/raw/refs/heads/main/pve/reprepro/ubuntu/conf/override.noble -O /srv/reprepro/ubuntu/conf/override.noble
wget https://github.com/nicholaswilde/homelab/raw/refs/heads/main/pve/reprepro/debian/conf/override.forky -O /srv/reprepro/debian/conf/override.forky
)
```
=== "Symlinks"
```shell
(
ln -s /root/git/nicholaswilde/homelab/pve/reprepro/debian/conf/override.trixie /srv/reprepro/debian/conf/override.trixie
ln -s /root/git/nicholaswilde/homelab/pve/reprepro/debian/conf/override.bullseye /srv/reprepro/debian/conf/override.bullseye
ln -s /root/git/nicholaswilde/homelab/pve/reprepro/debian/conf/override.bookworm /srv/reprepro/debian/conf/override.bookworm
ln -s /root/git/nicholaswilde/homelab/pve/reprepro/ubuntu/conf/override.oracular /srv/reprepo/ubuntu/conf/override.oracular
ln -s /root/git/nicholaswilde/homelab/pve/reprepro/ubuntu/conf/override.noble /srv/reprepro/ubuntu/conf/override.noble
ln -s /root/git/nicholaswilde/homelab/pve/reprepro/debian/conf/override.forky /srv/reprepro/debian/conf/override.forky
)
```
=== "Manual"
```shell
(
touch /srv/reprepro/ubuntu/conf/override.noble
touch /srv/reprepro/ubuntu/conf/override.oracular
touch /srv/reprepro/debian/conf/override.trixie
touch /srv/reprepro/debian/conf/override.bookworm
touch /srv/reprepro/debian/conf/override.bullseye
touch /srv/reprepro/debian/conf/override.forky
)
```
Traefik¶
homelab/pve/traefik/conf.d/reprepro.yaml
---
http:
#region routers
routers:
reprepro:
entryPoints:
- "websecure"
rule: "Host(`deb.l.nicholaswilde.io`)"
middlewares:
- default-headers@file
- https-redirectscheme@file
tls: {}
service: reprepro
#endregion
#region services
services:
reprepro:
loadBalancer:
servers:
- url: "http://192.168.2.32"
passHostHeader: true
# #endregion
Usage¶
Server¶
Add deb file to reprepro.
(
reprepro -b /srv/reprepro/ubuntu/ includedeb oracular sops_3.9.4_amd64.deb
reprepro -b /srv/reprepro/ubuntu/ includedeb noble sops_3.9.4_amd64.deb
reprepro -b /srv/reprepro/debian/ includedeb trixie sops_3.9.4_amd64.deb
reprepro -b /srv/reprepro/debian/ includedeb bookworm sops_3.9.4_amd64.deb
reprepro -b /srv/reprepro/debian/ includedeb forky sops_3.9.4_amd64.deb
)
Client¶
Download gpg key
Add repo and install.
/etc/apt/sources.list.d/reprepro.list
Sync Check¶
The script sync-check.sh
is used to compare the latest released versions of the apps SOPS and Task to the local versions.
If out of date, the debs are downloaded and added to reprepro.
Cronjob¶
A cronjob can be setup to run every night to check the released versions.
2 A.M. nightly