Skip to content

angaz/ipfspodcasting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
        ];
      };
    };
  };
}

About

ipfspodcasting updator service and NixOS configuration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published