Prerequisites
Before starting the renewal process, ensure you have:Repository Access
Access to the infrastructure Git repositoryRepository:
https://git.wthr.ws/devops/infrastructureSSH Access
SSH access configured to swarm cluster servers (check
~/.ssh/config)Docker Registry
Access to push images to the Docker registryRegistry:
registry.docker.devops.arabiaweather.comManaged Domains
The following domains are included in the SSL certificate renewal process:Renewal Process
1
Access the Infrastructure Repository
Clone or navigate to the infrastructure repository:
If you already have the repository cloned, navigate to it and pull the latest changes.
2
Run the Renewal Script
Execute the The script will:
renew.sh script to generate new certificates:- Generate new Let’s Encrypt certificates for all domains in
LETS_ENCRYPT_CERTS - Create a Docker Traefik image containing the updated certificates
- Prepare the image for deployment
3
Tag the Docker Image
After the script completes, tag the generated Traefik image with an appropriate version tag:
Replace
2025.11.01-2 with the current date and version number. The format is typically YYYY.MM.DD-V where V is a version number.4
Push to Docker Registry
Push the tagged image to the Docker registry:
5
Connect to Swarm Cluster
SSH to one of the swarm cluster servers. Based on your SSH config, use:
The swarm cluster servers are configured in
~/.ssh/config:swarm-n01→ 94.130.164.122swarm-n02→ 94.130.205.92swarm-n03→ 46.4.20.188
6
Update Docker Services
Update both Traefik services with the new image:
7
Verify Deployment
Verify that the services are running with the new image:Check that the image version matches the one you deployed.
Next Steps
After completing the Docker service updates, you need to synchronize certificates across additional platforms:- Bunny CDN
- Load Balancers
- AWS3 Nodes
- Servers
Upload certificates to multiple Bunny CDN hostnames.View Bunny CDN Guide →

