IPFS Podcasting
This project contains an updater for IPFS Podcasting and a
NixOS module for configuring Kubo and the updater.
IPFS Podcasting Updater
Looks for updates from IPFS Podcasting, and downloads, pins,
or deletes the episode, depending on the instructions from the server.
This was based on the original Python script, which I felt
could be improved.
It runs as a service instead of a cronjob or timer, and it manages the update
cycle. It waits a small period between each episode downloaded, and a longer,
configurable time between updates where there was nothing to do. So the initial
sync is much faster.
NixOS Module
The Nix Flake also contains a NixOS module, so you can
install and configure the updater on your NixOS installation.
An example configuration:
{
inputs = {
ipfspodcasting = {
url = "github:angaz/ipfspodcasting";
inputs.nixpkgs.follows = "nixpkgs";
};
}
outputs = {
ipfspodcasting,
...
}: {
nixosConfigurations = {
ipfsNode = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit ipfspodcasting;
};
modules = [
({ ipfspodcasting, ... }: {
nixpkgs.overlays = [
ipfspodcasting.overlays.default
];
services.ipfspodcasting = {
enable = true;
email = "email@example.com";
kuboSettings = {
Datastore.StorageMax = "1000GB";
};
};
})
ipfspodcasting.nixosModules.default
];
};
};
};
}