Skip to content
Snippets Groups Projects
Commit 6d1e28a8 authored by kaiyou's avatar kaiyou
Browse files

Generate any missing keys before starting synapse

parent 48bc22f8
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,7 @@
import jinja2
import os
import sys
import socket
import subprocess
convert = lambda src, dst: open(dst, "w").write(jinja2.Template(open(src).read()).render(**os.environ))
mode = sys.argv[1] if len(sys.argv) > 1 else None
......@@ -12,19 +12,20 @@ if "SYNAPSE_SERVER_NAME" not in os.environ:
print("Environment variable SYNAPSE_SERVER_NAME is mandatory, exiting.")
sys.exit(2)
params = ["--server-name", os.environ.get("SYNAPSE_SERVER_NAME"),
"--report-stats", os.environ.get("SYNAPSE_REPORT_STATS", "no"),
"--config-path", os.environ.get("SYNAPSE_CONFIG_PATH", "/compiled/homeserver.yaml")]
if mode == "generate":
params.append("--generate-config")
args = ["python", "-m", "synapse.app.homeserver",
"--server-name", os.environ.get("SYNAPSE_SERVER_NAME"),
"--report-stats", os.environ.get("SYNAPSE_REPORT_STATS", "no"),
"--config-path", os.environ.get("SYNAPSE_CONFIG_PATH", "/compiled/homeserver.yaml")]
# Parse the configuration file
if not os.path.exists("/compiled"):
os.mkdir("/compiled")
if not os.path.exists("/compiled"): os.mkdir("/compiled")
convert("/conf/homeserver.yaml", "/compiled/homeserver.yaml")
convert("/conf/log.config", "/compiled/%s.log.config" % os.environ.get("SYNAPSE_SERVER_NAME"))
# TODO, replace with a call to synapse.app.homeserver.run()
os.execv("/usr/local/bin/python", ["python", "-m", "synapse.app.homeserver"] + params)
# In generate mode, generate a configuration, missing keys, then exit
if mode == "generate":
os.execv("/usr/local/bin/python", args + ["--generate-config"])
# In normal mode, generate missing keys if any, then run synapse
else:
subprocess.check_output(args + ["--generate-keys"])
os.execv("/usr/local/bin/python", args)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment