feat: add certificate request task
This commit is contained in:
@@ -15,7 +15,7 @@ check_env:
|
||||
fi
|
||||
|
||||
run : build
|
||||
@docker compose $(CMPS) up -d -y
|
||||
@docker compose $(CMPS) up nginx mariadb wordpress wp-cli -d -y
|
||||
|
||||
build : check_env ${DATA_DIR}
|
||||
@docker compose $(CMPS) build
|
||||
|
||||
@@ -95,9 +95,9 @@ services:
|
||||
- ./nginx/certbot/www:/var/www/certbot
|
||||
- ./nginx/99-autoreload.sh:/docker-entrypoint.d/99-autoreload.sh
|
||||
|
||||
# certbot:
|
||||
# image: certbot/certbot
|
||||
# volumes:
|
||||
# - ./nginx/certbot/conf:/etc/letsencrypt
|
||||
# - ./nginx/certbot/www:/var/www/certbot
|
||||
# entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
|
||||
certbot:
|
||||
image: certbot/certbot
|
||||
volumes:
|
||||
- ./nginx/certbot/conf:/etc/letsencrypt
|
||||
- ./nginx/certbot/www:/var/www/certbot
|
||||
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
|
||||
5
files/inception/srcs/nginx/99-autoreload.sh
Normal file
5
files/inception/srcs/nginx/99-autoreload.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
while :; do
|
||||
sleep 6h
|
||||
nginx -t && nginx -s reload
|
||||
done &
|
||||
1
run.yml
1
run.yml
@@ -6,3 +6,4 @@
|
||||
tasks:
|
||||
- import_tasks: ./tasks/install-docker.yml
|
||||
- import_tasks: ./tasks/setup-and-start-app.yml
|
||||
- import_tasks: ./tasks/request-certificate.yml
|
||||
23
tasks/request-certificate.yml
Normal file
23
tasks/request-certificate.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
- name: Request SSL certifiate to letsencrypt
|
||||
block:
|
||||
- name: Obtain or renew SSL certificate for {{ cert_domain }}
|
||||
ansible.builtin.shell: |
|
||||
sudo docker compose -f {{ dest_dir }}/srcs/docker-compose.yml run --rm --entrypoint \
|
||||
"certbot certonly --test-cert -d {{ cert_domain }} --webroot --webroot-path /var/www/certbot --agree-tos" certbot
|
||||
args:
|
||||
executable: /bin/bash
|
||||
creates: "{{ dest_dir }}/srcs/nginx/conf/{{ cert_domain }}/fullchain.pem"
|
||||
register: certbot_result
|
||||
changed_when: "'Obtained a new certificate' in certbot_result.stdout or 'renewed' in certbot_result.stdout"
|
||||
when: cert_domain is defined
|
||||
ignore_errors: True
|
||||
|
||||
- name: Restart nginx
|
||||
ansible.builtin.shell: |
|
||||
sudo docker compose -f {{ dest_dir }}/srcs/docker-compose.yml exec nginx nginx -s reload
|
||||
|
||||
- name: Start certbot auto-renew
|
||||
ansible.builtin.shell: |
|
||||
sudo docker compose -f {{ dest_dir }}/srcs/docker-compose.yml up certbot -d -y
|
||||
when: not is_local
|
||||
Reference in New Issue
Block a user