diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2018-12-21 16:04:57 +0100 |
---|---|---|
committer | Amber Brown <hawkowl@atleastfornow.net> | 2018-12-22 02:04:57 +1100 |
commit | 9c2af7b2c51e31a1baf5ef523a251b946774468c (patch) | |
tree | 6c5fe1adda3c4728c36313de4fcfd53699ab2779 /scripts | |
parent | Fix indentation in default config (#4313) (diff) | |
download | synapse-9c2af7b2c51e31a1baf5ef523a251b946774468c.tar.xz |
Add a script to generate a clean config file (#4315)
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/generate_config | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/scripts/generate_config b/scripts/generate_config new file mode 100755 index 0000000000..61c5f049e8 --- /dev/null +++ b/scripts/generate_config @@ -0,0 +1,67 @@ +#!/usr/bin/env python + +import argparse +import sys + +from synapse.config.homeserver import HomeServerConfig + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument( + "--config-dir", + default="CONFDIR", + + help="The path where the config files are kept. Used to create filenames for " + "things like the log config and the signing key. Default: %(default)s", + ) + + parser.add_argument( + "--data-dir", + default="DATADIR", + help="The path where the data files are kept. Used to create filenames for " + "things like the database and media store. Default: %(default)s", + ) + + parser.add_argument( + "--server-name", + default="SERVERNAME", + help="The server name. Used to initialise the server_name config param, but also " + "used in the names of some of the config files. Default: %(default)s", + ) + + parser.add_argument( + "--report-stats", + action="store", + help="Whether the generated config reports anonymized usage statistics", + choices=["yes", "no"], + ) + + parser.add_argument( + "--generate-secrets", + action="store_true", + help="Enable generation of new secrets for things like the macaroon_secret_key." + "By default, these parameters will be left unset." + ) + + parser.add_argument( + "-o", "--output-file", + type=argparse.FileType('w'), + default=sys.stdout, + help="File to write the configuration to. Default: stdout", + ) + + args = parser.parse_args() + + report_stats = args.report_stats + if report_stats is not None: + report_stats = report_stats == "yes" + + conf = HomeServerConfig().generate_config( + config_dir_path=args.config_dir, + data_dir_path=args.data_dir, + server_name=args.server_name, + generate_secrets=args.generate_secrets, + report_stats=report_stats, + ) + + args.output_file.write(conf) |