This project contains an updater for IPFS Podcasting and a NixOS module for configuring Kubo and the 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.
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
];
};
};
};
}