Armok Web Services: remote Dwarf Fortress streaming in a web browser with Xpra
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
nix
src
.gitignore
LICENSE.md
NOTICE.md
README.md

README.md

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