diff options
| author | crupest <crupest@outlook.com> | 2022-11-19 13:39:41 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2022-11-19 13:39:41 +0800 | 
| commit | 2dc194f86144ebd0681c4858e5ebeb2ec205e7a1 (patch) | |
| tree | 9bbf050e71afea2705383f9b6e4aafa5cbef901f | |
| parent | 5f2a7500cfd0f42c9b88f4779c6ef9755cc741ef (diff) | |
| download | crupest-2dc194f86144ebd0681c4858e5ebeb2ec205e7a1.tar.gz crupest-2dc194f86144ebd0681c4858e5ebeb2ec205e7a1.tar.bz2 crupest-2dc194f86144ebd0681c4858e5ebeb2ec205e7a1.zip  | |
Fix nginx docker and certbot command.
| -rw-r--r-- | template/docker-compose.yaml.template | 3 | ||||
| -rwxr-xr-x | tool/modules/nginx.py | 6 | ||||
| -rw-r--r-- | tool/modules/path.py | 3 | 
3 files changed, 8 insertions, 4 deletions
diff --git a/template/docker-compose.yaml.template b/template/docker-compose.yaml.template index 35027c9..d8e1b85 100644 --- a/template/docker-compose.yaml.template +++ b/template/docker-compose.yaml.template @@ -54,12 +54,15 @@ services:    nginx:      image: nginx:latest      container_name: nginx +    restart: on-failure:3      ports:        - "80:80"        - "443:443"      volumes:        - "./nginx-config:/etc/nginx/conf.d:ro" +      - "./site:/srv/www:ro"        - "./data/certbot/certs:/etc/letsencrypt:ro" +      - "./data/certbot/webroot:/srv/acme:ro"      networks:        - external        - internal diff --git a/tool/modules/nginx.py b/tool/modules/nginx.py index 62d4044..c6e0a71 100755 --- a/tool/modules/nginx.py +++ b/tool/modules/nginx.py @@ -1,7 +1,7 @@  #!/usr/bin/env python3  from .template import Template -from .path import nginx_template_dir +from .path import project_abs_path, nginx_template_dir  import json  import jsonschema  import os @@ -63,8 +63,8 @@ def certbot_command_gen(domain: str, action, test=False) -> str:      domains = list_domains(domain)      if action == 'create':          # create with standalone mode -        return f'docker run -it --name certbot -v "./data/certbot/certs:/etc/letsencrypt" -v "./data/certbot/data:/var/lib/letsencrypt" certbot/certbot certonly --standalone -d {" -d ".join(domains)}{ " --test-cert" if test else "" }' +        return f'docker run -it --rm --name certbot -v "{project_abs_path}/data/certbot/certs:/etc/letsencrypt" -v "{project_abs_path}/data/certbot/data:/var/lib/letsencrypt" certbot/certbot certonly --standalone -d {" -d ".join(domains)}{ " --test-cert" if test else "" }'      elif action == 'renew':          # renew with webroot mode -        return f'docker run -it --name certbot -v "./data/certbot/certs:/etc/letsencrypt" -v "./data/certbot/data:/var/lib/letsencrypt" -v "./data/certbot/webroot:/var/www/certbot" certbot/certbot renew --webroot -w /var/www/certbot' +        return f'docker run -it --rm --name certbot -v "{project_abs_path}/data/certbot/certs:/etc/letsencrypt" -v "{project_abs_path}/data/certbot/data:/var/lib/letsencrypt" -v "{project_abs_path}/data/certbot/webroot:/var/www/certbot" certbot/certbot renew --webroot -w /var/www/certbot'      raise ValueError('Invalid action') diff --git a/tool/modules/path.py b/tool/modules/path.py index 94adc27..24df27a 100644 --- a/tool/modules/path.py +++ b/tool/modules/path.py @@ -2,6 +2,7 @@ import os.path  script_dir = os.path.relpath(os.path.dirname(__file__))  project_dir = os.path.normpath(os.path.join(script_dir, "../../")) +project_abs_path = os.path.abspath(project_dir)  template_dir = os.path.join(project_dir, "template")  nginx_template_dir = os.path.join(template_dir, "nginx")  data_dir = os.path.join(project_dir, "data") @@ -9,5 +10,5 @@ tool_dir = os.path.join(project_dir, "tool")  config_file_path = os.path.join(data_dir, "config")  nginx_config_dir = os.path.join(project_dir, "nginx-config") -__all__ = ["script_dir", "project_dir", "template_dir", +__all__ = ["script_dir", "project_dir", "project_abs_path", "template_dir",             "nginx_template_dir", "data_dir", "config_file_path", "tool_dir", "nginx_config_dir"]  | 
