summaryrefslogtreecommitdiff
path: root/scripts/install
blob: bbba17ca1ad015df143c1a16f5cdb0dfa44bf55f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/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)