30 lines
698 B
Python
30 lines
698 B
Python
#!/usr/bin/python
|
|
|
|
import os
|
|
import time
|
|
import subprocess
|
|
|
|
|
|
command = [
|
|
"certbot",
|
|
"-n", "--agree-tos", # non-interactive
|
|
"-d", os.environ["HOSTNAMES"],
|
|
"-m", "{}@{}".format(os.environ["POSTMASTER"], os.environ["DOMAIN"]),
|
|
"certonly", "--standalone",
|
|
"--server", "https://acme-v02.api.letsencrypt.org/directory",
|
|
"--cert-name", "ohmyform",
|
|
"--preferred-challenges", "http", "--http-01-port", "8008",
|
|
"--keep-until-expiring",
|
|
"--rsa-key-size", "4096",
|
|
"--config-dir", "/certs/letsencrypt",
|
|
"--post-hook", "./config.py"
|
|
]
|
|
|
|
# Wait for nginx to start
|
|
time.sleep(5)
|
|
|
|
# Run certbot every hour
|
|
while True:
|
|
subprocess.call(command)
|
|
time.sleep(3600)
|