#!/usr/bin/python3 # vim: shiftwidth=4 tabstop=4 expandtab import configparser import jinja2 import subprocess # read config config = configparser.ConfigParser() config.read("./src/config.ini") cfg = {} for option in config.options("web-template"): cfg[option] = config.get("web-template", option) # generate systemd unit file with open("./systemd/web_template.service.jinja2", "r") as f: template = jinja2.Template(f.read()) unit_file = template.render(cfg) # install the project subprocess.run("mkdir -p /opt/{}".format(cfg["project_name"]), shell=True) subprocess.run("rsync --delete -vrL ./src/ /opt/{}/".format(cfg["project_name"]), shell=True) with open("/etc/systemd/system/{}.service".format(cfg["project_name"]), "w") as f: f.write(unit_file)