Mercurial > sat_docs
view docker/libervia/scripts/libervia_cont_launch @ 120:37e100fd30ef
docker (liberiva_cont): ownership is fixed on "config" command as "docker cp" use root:root as owner of copied file on container
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 09 Mar 2016 10:11:08 +0100 |
parents | 5d8b9ca2afd4 |
children |
line wrap: on
line source
#!/usr/bin/env python2 # this script check if libervia and admin accounts exist, and create them if necessary # then it launch libervia import os, sys, string, random from sat.plugins import plugin_misc_account as account from sat.tools import config from sat_frontends.bridge import DBus def generate_pwd(): chars = string.letters + string.digits length = 12 return "".join(random.choice(chars) for _ in range(length)) sat=DBus.DBusBridgeFrontend() sat.getReady() admin_email = sat.getConfig(account.CONFIG_SECTION, "admin_email") or account.default_conf["admin_email"] for profile in ["libervia", "admin"]: try: sat.getProfileName(profile) except Exception as e: print "{} profile doesn't exists, creating it".format(profile) print "registering {}@{}".format(profile, sat.getNewAccountDomain()) pwd = generate_pwd() if profile == "libervia": config.fixConfigOption("libervia", "passphrase", pwd) elif profile == "admin": with open("/home/sat/ADMIN_PWD", "w") as f: f.write("%s\n" % pwd) sat.registerSatAccount(admin_email, pwd, profile) os.execvp("libervia", ["libervia"] + sys.argv[1:])