Hey HN, I built pkgdex.org as an alternative to pkgs.org for searching Linux and Unix packages.
What it does: Search packages by name, description, files, provides, or requires across 67 distributions (Fedora, Debian, Ubuntu, Alpine, Arch, FreeBSD, Homebrew, and many more). You can also compare the same package across distros at `/compare/{name}`.
Tech stack: Go templates (SSR, no React/SPA), SQLite (51GB WAL-mode database), Varnish cache, all running on a single 1GB RAM Linode with 4GB swap. Zero-downtime deploys via systemd socket activation.
Why I built it: I work with Linux packaging daily and needed a faster, more comprehensive package search. pkgs.org has been the go-to for years, but I wanted file search (which package provides `/usr/lib/libfoo.so`?), cross-distro comparison, and better coverage of third-party repos.
Hey HN, I built pkgdex.org as an alternative to pkgs.org for searching Linux and Unix packages.
What it does: Search packages by name, description, files, provides, or requires across 67 distributions (Fedora, Debian, Ubuntu, Alpine, Arch, FreeBSD, Homebrew, and many more). You can also compare the same package across distros at `/compare/{name}`.
Tech stack: Go templates (SSR, no React/SPA), SQLite (51GB WAL-mode database), Varnish cache, all running on a single 1GB RAM Linode with 4GB swap. Zero-downtime deploys via systemd socket activation.
Why I built it: I work with Linux packaging daily and needed a faster, more comprehensive package search. pkgs.org has been the go-to for years, but I wanted file search (which package provides `/usr/lib/libfoo.so`?), cross-distro comparison, and better coverage of third-party repos.
How are you fetching/scraping data from each distro? A lot of parsing pkgbuild files, indices, etc?
Also curious about how long updating/scraping the data took (or takes since I assume you update it periodically).