Skip to content
This repository was archived by the owner on Dec 30, 2025. It is now read-only.

Commit 2f23a24

Browse files
committed
fix(ssl-manager.sh): specify certbot directories for config, work, and logs
refactor(ssl-manager.sh): use ls command to check for certificate existence Add explicit directory paths for certbot's config, work, and logs to ensure the correct directories are used during certificate issuance and renewal. This change enhances clarity and prevents potential misconfigurations. Additionally, replace the `test -f` command with `ls` to check for certificate existence, and use `--entrypoint=""` to ensure the correct command execution within the Docker container. This refactoring improves the reliability and readability of the script.
1 parent c3a4899 commit 2f23a24

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

scripts/ssl-manager.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,9 @@ issue_certificates() {
9494

9595
# Run certbot container to issue certificates
9696
if docker compose run --rm certbot certonly \
97+
--config-dir /etc/letsencrypt \
98+
--work-dir /etc/letsencrypt \
99+
--logs-dir /etc/letsencrypt \
97100
--dns-cloudflare \
98101
--dns-cloudflare-credentials=/etc/letsencrypt/cloudflare-credentials.ini \
99102
--dns-cloudflare-propagation-seconds=60 \
@@ -137,6 +140,9 @@ renew_certificates() {
137140

138141
# Run certbot container to renew certificates
139142
if docker compose run --rm certbot renew \
143+
--config-dir /etc/letsencrypt \
144+
--work-dir /etc/letsencrypt \
145+
--logs-dir /etc/letsencrypt \
140146
--quiet \
141147
--no-random-sleep-on-renew 2>&1 | tee /tmp/certbot_renew_output.log; then
142148

@@ -191,12 +197,12 @@ copy_certificates() {
191197

192198
# Try to copy from Docker container first
193199
log_info "Looking for certificates in certbot container..."
194-
if docker compose run --rm certbot test -f "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" 2>/dev/null; then
200+
if docker compose run --rm --entrypoint="" certbot ls "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" >/dev/null 2>&1; then
195201
log_info "Found certificates in certbot container, copying..."
196202

197203
# Copy certificate from container
198-
docker compose run --rm certbot cat "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" > "$TLS_DIR/server.cert.pem"
199-
docker compose run --rm certbot cat "/etc/letsencrypt/live/$DOMAIN/privkey.pem" > "$TLS_DIR/server.key.pem"
204+
docker compose run --rm --entrypoint="" certbot cat "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" > "$TLS_DIR/server.cert.pem"
205+
docker compose run --rm --entrypoint="" certbot cat "/etc/letsencrypt/live/$DOMAIN/privkey.pem" > "$TLS_DIR/server.key.pem"
200206

201207
# Set proper permissions and ownership
202208
chmod 644 "$TLS_DIR/server.cert.pem"

0 commit comments

Comments
 (0)