eworm on meadow QR code: rsc.eworm.de RouterOS Scripts
a collection of scripts for MikroTik RouterOS

Renew certificates and notify on expiration

GitHub stars GitHub forks GitHub watchers required RouterOS version Telegram group @routeros_scripts donate with PayPal

⬅️ Go back to main README

ℹ️ Info: This script can not be used on its own but requires the base installation. See main README for details.

Description

This script tries to download and renew certificates, then notifies about certificates that are still about to expire.

Sample notification

check-certificates notification

Requirements and installation

Just install the script:

$ScriptInstallUpdate check-certificates;

Configuration

For automatic download and renewal of certificates you need configuration in global-config-overlay, these are the parameters:

ℹ️ Info: Copy relevant configuration from global-config (the one without -overlay) to your local global-config-overlay and modify it to your specific needs.

Certificates on the web server should be named by their common name, like CN.pem (PEM format) orCN.p12 (PKCS#12 format). Alternatively any subject alternative name (aka Subject Alt Name or SAN) can be used.

Also notification settings are required for e-mail, gotify, matrix, ntfy and/or telegram.

Usage and invocation

Just run the script:

/system/script/run check-certificates;

… or create a scheduler for periodic execution:

/system/scheduler/add interval=1d name=check-certificates on-event="/system/script/run check-certificates;" start-time=startup;

Tips & Tricks

Schedule at startup

The script checks for full connectivity before acting, so scheduling at startup is perfectly valid:

/system/scheduler/add name=check-certificates@startup on-event="/system/script/run check-certificates;" start-time=startup;

Initial import

Given you have a certificate on you server, you can use check-certificates for the initial import. Just create a dummy certificate with short lifetime that matches criteria to be renewed:

/certificate/add name=example.com common-name=example.com days-valid=1;
/certificate/sign example.com;
/system/script/run check-certificates;

See also


⬅️ Go back to main README
⬆️ Go back to top

RouterOS Scripts documentation generated on Thu, 20 Nov 2025 20:47:50 +0100 for main/3287/699be25b
Copyright © 2013-2025 Christian Hesse <mail@eworm.de>