Automatic APT repositories for your .deb packages
Go to file
Sam W bed814641e remove nonworking ldflags in flake 2023-05-05 00:06:18 +01:00
.github/workflows Add building via gh workflows 2023-05-04 23:12:16 +01:00
cmd go fmt 2023-05-04 23:52:55 +01:00
.envrc initial working disaster 2023-05-01 01:22:25 +01:00
.gitignore Update gitignore 2023-05-04 23:12:25 +01:00
.goreleaser.yaml Add building via gh workflows 2023-05-04 23:12:16 +01:00
backend.go go fmt 2023-05-04 23:52:55 +01:00
backend_file.go Move file backend into own file 2023-05-04 22:38:00 +01:00
flake.lock Add tailscale tsnet support 2023-05-04 23:52:42 +01:00
flake.nix remove nonworking ldflags in flake 2023-05-05 00:06:18 +01:00
go.mod Add tailscale tsnet support 2023-05-04 23:52:42 +01:00
go.sum Add tailscale tsnet support 2023-05-04 23:52:42 +01:00
package.go modularise backend a bit 2023-05-01 22:50:43 +01:00
readme.md Add tailscale tsnet support 2023-05-04 23:52:42 +01:00
release.go modularise backend a bit 2023-05-01 22:50:43 +01:00
repo.go modularise backend a bit 2023-05-01 22:50:43 +01:00
util.go modularise backend a bit 2023-05-01 22:50:43 +01:00
version.go Add version/commit and -version 2023-05-04 23:11:13 +01:00

readme.md

Debanator

Easily make a debian apt repo from a bunch of .deb files.

  • You have some deb files
  • You want to be able to apt-get install them on systems
  • You want this to happen automatically (perhaps the debs are on a webdav share, or in github releases)

Status

Proof of concept. Neither fast, efficient, secure, neat, or featureful. Don't use in production unless you are really sure you know what you're doing and even then prepare to have your laundry eaten.

Usage

debanator -debpath ./path/to/your/debs -httppass hunter2

For more, see -help.

Then, on the system you want packages on:

  • echo "deb http://debanator:hunter2@<host of debanator>:1612/ stable main
  • curl http://debanator:hunter2@<host of debanator>:1612/pubkey.gpg | apt-key add -
  • apt update
  • apt install your-package

Tailscale

Debanator supports listening inside a Tailscale tailnet as a "Virtual Private Service". To enable this mode, generate an auth key in the Tailscale admin panel and pass it as the TS_AUTHKEY env var. You can change the hostname debanator uses with -tailscalehostname.

Note that debanator still respects -listenaddr, which given you're inside a tailnet now you probably just want to set to :80.

Discussion

  • Yes, you could just use dpkg-scanpackages, but you'd have to write some script which did that, plus gpg and also fetched your packages from wherever they are.