mirror of
https://github.com/jupyterhub/the-littlest-jupyterhub.git
synced 2025-12-18 21:54:05 +08:00
grant traefik write access to state/acme.json
and ensure the file exists and is private before launching
This commit is contained in:
@@ -7,13 +7,14 @@ After=network.target
|
|||||||
[Service]
|
[Service]
|
||||||
User=root
|
User=root
|
||||||
Restart=always
|
Restart=always
|
||||||
# process only needs to write acme.json file, no other files
|
# process only needs to write state/acme.json file, no other files
|
||||||
ProtectHome=tmpfs
|
ProtectHome=tmpfs
|
||||||
ProtectSystem=strict
|
ProtectSystem=strict
|
||||||
PrivateTmp=yes
|
PrivateTmp=yes
|
||||||
PrivateDevices=yes
|
PrivateDevices=yes
|
||||||
ProtectKernelTunables=yes
|
ProtectKernelTunables=yes
|
||||||
ProtectKernelModules=yes
|
ProtectKernelModules=yes
|
||||||
|
ReadWritePaths={install_prefix}/state/acme.json
|
||||||
WorkingDirectory={install_prefix}/state
|
WorkingDirectory={install_prefix}/state
|
||||||
ExecStart={install_prefix}/hub/bin/traefik \
|
ExecStart={install_prefix}/hub/bin/traefik \
|
||||||
-c {install_prefix}/state/traefik.toml
|
-c {install_prefix}/state/traefik.toml
|
||||||
|
|||||||
@@ -77,3 +77,8 @@ def ensure_traefik_config(state_dir):
|
|||||||
with open(os.path.join(state_dir, "traefik.toml"), "w") as f:
|
with open(os.path.join(state_dir, "traefik.toml"), "w") as f:
|
||||||
os.fchmod(f.fileno(), 0o744)
|
os.fchmod(f.fileno(), 0o744)
|
||||||
f.write(new_toml)
|
f.write(new_toml)
|
||||||
|
|
||||||
|
# ensure acme.json exists and is private
|
||||||
|
with open(os.path.join(state_dir, "acme.json"), "a") as f:
|
||||||
|
os.fchmod(f.fileno(), 0o600)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user