aboutsummaryrefslogtreecommitdiff

Picarones

"next slide please" as a service

A simple web app which displays slides, and allows multiple people to switch between them. Useful for presentations held in video chats that aren't meant for presentations (e.g. jitsi, zoom, ...). May also be useful to decrease bandwith when livestreaming talks.

Usage

Go to the main site of your instance.

Render your slides onto pdfs numbered 01.png, 02.png ... xy.png, and put them on some webserver which sets the cors header to either * or the origin of your instance (see the usage hint on the main page if you don't know how to do that).

Tell Picarones the prefix of your images, and how many of them there are. Then share the generated link with all participants.

If you need a version of your slides without a UI around it (e.g. for screen recorders or similar), replace the "slides.html" in the url with "display.html".

Installation

If you use NixOS, just use it like this:

{config, pkgs, ...}:

{
  imports = [ path-to-this-repo ];

  services.picarones = {
    enable = true;
    frontend = {
      enable = true;
      domain = "example.org";
      proxyBackend = true;
      # the attributes in this set are passed to the nginx virtualhost
      config = {
       enableACME = true;
       forceSSL = true;
      };
    };
  };

  networking.firewall.allowedTCPPorts = [ 80 443 ];
}

If you use some other OS, you can either still use nix to compile the front- and backend packages; alternatively, you can compile the backend (in picarones-hs) using cabal, and clobber the frontend together using the elm compiler. Elm doesn't have a sensible build system, so if you really don't want to use Nix you'll probably have to fiddle around with it manually.