numinit / armokweb

Armok Web Services: remote Dwarf Fortress streaming in a web browser with Xpra

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

armokweb

Armok Web Services: play collaborative (or chaotic) Dwarf Fortress sessions in your browser by streaming through xpra. Manage your fort's labors while a friend manages your military. It's like having multiple people at multiple keyboards!

Screenshot

Demo video

Dependencies

xpra, xorg, xf86videodummy, xf86inputevdev, xkbcomp, xmodmap, xvfb_run, and others. Pull requests are welcome to get it working on your distribution.

Deployment

We currently support deploying on NixOS in containers.

To create a Nix container for Armok Web Services, add the following to your configuration.nix after cloning this repository:

containers.df = import /path/to/armokweb-repo/nix/container;

nginx proxy_pass config

If you want to use nginx as a proxy server, a config like this will work. It's highly recommended to use TLS if you're hosting this on the internet.

services.nginx = {
  enable = true;

  virtualHosts."armokweb.example.com" = {
    http2 = true;
    forceSSL = true;
    enableACME = true;
    basicAuth = {
      "username" = "password";
    };

    locations."/" = {
      extraConfig = ''
        proxy_pass http://192.168.100.10:10000;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
      '';
    };
  };
};

Security

Containers aren't perfect. Only give access to people you trust!

Related projects

License notice

See NOTICE.md

About

Armok Web Services: remote Dwarf Fortress streaming in a web browser with Xpra

License:GNU General Public License v3.0


Languages

Language:JavaScript 97.4%Language:HTML 1.7%Language:Shell 0.4%Language:CSS 0.3%Language:Nix 0.2%