From 5b84a209632d6d77351e76d478d2aaf2f7dc3483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannik=20R=C3=B6del?= Date: Wed, 16 Mar 2022 15:58:55 +0100 Subject: [PATCH] Fix container startup problems --- cgi-bin/form.py | 8 ++------ flake.nix | 6 +++++- httpd.conf | 9 ++++++++- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/cgi-bin/form.py b/cgi-bin/form.py index ad2bf62..0569a69 100755 --- a/cgi-bin/form.py +++ b/cgi-bin/form.py @@ -22,8 +22,6 @@ def fail(status: str, reason: str) -> None: SITE_DIRECTORY = os.environ.get("SITE_DIRECTORY", "") -if SITE_DIRECTORY == "": - fail("503 Service Unavailable", "Cannot open site directory") request_uri = os.environ.get("REQUEST_URI", "").lower().rstrip("/") serializer = itsdangerous.URLSafeSerializer("secret key", "salt") @@ -183,11 +181,9 @@ match request_uri: ticket_details["Kontaktformular"] = form_name -ZAMMAD_URL = os.environ.get("ZAMMAD_URL", "https://ticket.z31.it").rstrip("/") +ZAMMAD_URL = os.environ.get("ZAMMAD_URL", "").rstrip("/") ZAMMAD_TOKEN = os.environ.get("ZAMMAD_TOKEN", "") -if ZAMMAD_TOKEN == "": - fail("503 Service Unavailable", "Could not get Zammad token") -ZAMMAD_GROUP = os.environ.get("ZAMMAD_GROUP", "testgruppe") +ZAMMAD_GROUP = os.environ.get("ZAMMAD_GROUP", "") session = requests.Session() session.headers.update(Authorization=f"Token token={ZAMMAD_TOKEN}") diff --git a/flake.nix b/flake.nix index 4341dac..0dd2603 100644 --- a/flake.nix +++ b/flake.nix @@ -53,7 +53,11 @@ config = { Env = [ - "SITE_DIRECTORY=\"${packages.site}\"" + "SITE_DIRECTORY=${packages.site}" + # We need to provide these default variables because otherwise + # lighttpd doesn't even parse its configuration file: + "ZAMMAD_URL=https://ticket.z31.it" + "ZAMMAD_GROUP=testgruppe" ]; Cmd = [ "${pkgs.lighttpd}/bin/lighttpd" diff --git a/httpd.conf b/httpd.conf index 2671879..4ac6bd4 100644 --- a/httpd.conf +++ b/httpd.conf @@ -1,4 +1,4 @@ -server.modules += ( "mod_alias", "mod_cgi", "mod_rewrite" ) +server.modules += ( "mod_alias", "mod_cgi", "mod_rewrite", "mod_setenv" ) server.port = 80 @@ -30,4 +30,11 @@ $HTTP["url"] =~ "^/cgi-bin/" { cgi.x-sendfile = "enable" cgi.x-sendfile-docroot = ( "@site@" ) + + setenv.set-environment = ( + "SITE_DIRECTORY" => env.SITE_DIRECTORY, + "ZAMMAD_URL" => env.ZAMMAD_URL, + "ZAMMAD_TOKEN" => env.ZAMMAD_TOKEN, + "ZAMMAD_GROUP" => env.ZAMMAD_GROUP + ) }