#!/bin/bash

# Preparation for maintenance:
rm -f /etc/nginx/sites-enabled/*
ln -s /etc/nginx/sites-available/maintenance /etc/nginx/sites-enabled/maintenance

# Start maintenance:
touch /tmp/maintenance

# Reload `nginx` configuration:
systemctl reload nginx

# Renewal SSL certificate:
certbot renew

sleep 5

# Stop maintenance:
rm /tmp/maintenance

# Preparation for normal operation:
rm -f /etc/nginx/sites-enabled/maintenance

for conf in $(find /etc/nginx/sites-available -maxdepth 1 -type f | grep -v maintenance); do
  ln -s "${conf}" "/etc/nginx/sites-enabled/${conf/\/etc\/nginx\/sites-available\//}"
done

# Reload `nginx` configuration:
systemctl reload nginx

exit 0