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 @@ ...@@ -3,7 +3,7 @@
import jinja2 import jinja2
import os import os
import sys import sys
import socket import subprocess
convert = lambda src, dst: open(dst, "w").write(jinja2.Template(open(src).read()).render(**os.environ)) 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 mode = sys.argv[1] if len(sys.argv) > 1 else None
...@@ -12,19 +12,20 @@ if "SYNAPSE_SERVER_NAME" not in os.environ: ...@@ -12,19 +12,20 @@ if "SYNAPSE_SERVER_NAME" not in os.environ:
print("Environment variable SYNAPSE_SERVER_NAME is mandatory, exiting.") print("Environment variable SYNAPSE_SERVER_NAME is mandatory, exiting.")
sys.exit(2) sys.exit(2)
params = ["--server-name", os.environ.get("SYNAPSE_SERVER_NAME"), args = ["python", "-m", "synapse.app.homeserver",
"--report-stats", os.environ.get("SYNAPSE_REPORT_STATS", "no"), "--server-name", os.environ.get("SYNAPSE_SERVER_NAME"),
"--config-path", os.environ.get("SYNAPSE_CONFIG_PATH", "/compiled/homeserver.yaml")] "--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")
# Parse the configuration file # Parse the configuration file
if not os.path.exists("/compiled"): if not os.path.exists("/compiled"): os.mkdir("/compiled")
os.mkdir("/compiled")
convert("/conf/homeserver.yaml", "/compiled/homeserver.yaml") convert("/conf/homeserver.yaml", "/compiled/homeserver.yaml")
convert("/conf/log.config", "/compiled/%s.log.config" % os.environ.get("SYNAPSE_SERVER_NAME")) convert("/conf/log.config", "/compiled/%s.log.config" % os.environ.get("SYNAPSE_SERVER_NAME"))
# TODO, replace with a call to synapse.app.homeserver.run() # In generate mode, generate a configuration, missing keys, then exit
os.execv("/usr/local/bin/python", ["python", "-m", "synapse.app.homeserver"] + params) 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