From 430fdd501c2017b125e75b2e55358a51216b45ab Mon Sep 17 00:00:00 2001 From: stuebinm Date: Thu, 19 Aug 2021 19:34:15 +0200 Subject: workadventure: use exneuland backend --- hosts/chaski/configuration.nix | 3 ++- hosts/chaski/services/exneuland.nix | 50 +++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 hosts/chaski/services/exneuland.nix (limited to 'hosts') diff --git a/hosts/chaski/configuration.nix b/hosts/chaski/configuration.nix index df1454f..fc9484f 100644 --- a/hosts/chaski/configuration.nix +++ b/hosts/chaski/configuration.nix @@ -9,7 +9,8 @@ [ # Include the results of the hardware scan. ./hardware-configuration.nix ./services/grafana.nix - ./services/workadventure.nix + # ./services/workadventure.nix + ./services/exneuland.nix ]; hexchen.deploy = { diff --git a/hosts/chaski/services/exneuland.nix b/hosts/chaski/services/exneuland.nix new file mode 100644 index 0000000..a0c765a --- /dev/null +++ b/hosts/chaski/services/exneuland.nix @@ -0,0 +1,50 @@ +{ config, lib, pkgs, ... }: + +let + workadventure-nix = builtins.fetchGit { + url = "https://stuebinm.eu/git/workadventure-nix"; + ref = "master"; + }; + wapkgs = import "${workadventure-nix.outPath}/wapkgs.nix" { + inherit pkgs; + lib = pkgs.lib; + }; + frontdrv = wapkgs.workadventure-tcm.front.override { + environment = { + PUSHER_URL = "https://exneuland.stuebinm.eu/pusher"; + START_ROOM_URL = "/_/global/world.di.c3voc.de/maps/main.json"; + }; + }; + exneuland = import ../../../pkgs/exneuland.nix; +in +{ + services.nginx = { + enable = true; + recommendedProxySettings = true; + virtualHosts."exneuland.stuebinm.eu" = { + root = "${frontdrv}/dist"; + locations."/_/".tryFiles = "/index.html =404"; + + locations."/pusher" = { + proxyPass = "http://localhost:4000"; + proxyWebsockets = true; + extraConfig = '' + add_header Access-Control-Allow-Origin https://exneuland.stuebinm.eu; + ''; + }; + + enableACME = true; + forceSSL = true; + }; + }; + + systemd.services.exneuland = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + description = "exneuland backend for workadventure"; + serviceConfig = { + ExecStart = "${exneuland}/bin/exneuland start"; + Restart = "always"; + }; + }; +} -- cgit v1.2.3