ipfspodcasting

module
v0.0.0-...-74bb4af Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 29, 2023 License: GPL-3.0

README

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

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL