Skip to content

What do you use for certificate management without systemd?

VPS Hosting by nate_pad 25 replies 2.9K views
#1

Hi everyone, sorry total noob here I run debian with openrc (not systemd) on my VPS from RackNerd and I need certificate management for nginx. I tried certbot but it wants systemd timers or cron and I read cron is not ideal for acme? Is there a client that works without systemd, maybe with just a shell script? I found some old init script for acme.sh but not sure if safe to use. Sorry if dumb question, I am new to this.

#2

However, your concern about cron reliability is valid—missed renewals due to clock drift or cron daemon failure do occur.

For non-systemd environments, I maintain a small acme client called shell-acme (init script only, no daemon). It is GDPR-compliant by design: no telemetry, no cloud API callbacks unless explicitly configured, all keys stay on your instance. The source is at racknerd.com if you wish to audit.

As far as I know, RackNerd's Debian openrc image includes runit as alternative service supervisor. You could also use that for periodic renewal. Their status page: https://www.racknerd.com

Neuland. Aber schnell.
#3

Before you dive into automation, did you test your restore? I mean—if your certificate breaks or your init script fails, do you have a way to get back online quickly?

  • 3-2-1 rule: 3 copies of your private key, 2 different media, 1 offsite
  • Test renewal manually before trusting any automation
  • Keep a self-signed cert ready for emergency nginx fallback

Automation is lovely but only if you can recover when it breaks. I've seen too many "it worked for months then expired silently" stories.

3-2-1 or you're already dead
2 #4

But how much RAM? Shell-acme vs certbot vs acme.sh matters if you're on 512MB. certbot pulls in python and can bloat to 150MB+ during renewal. Acme.sh is lighter but still needs curl and openssl.

I run a 32GB box so I don't care, but for noobs on budget hosts the footprint matters. What's your RackNerd plan specs?

#5

Thanks for all the replies! My plan is the 1GB KVM from RackNerd, so I guess certbot might be okay but I like the idea of lighter. I don't know what runit is though, is that built in?

#6
HeadRich said:
512MB

This. I ran acme.sh on a 512MB RackNerd box in their LA datacenter for two years, zero issues. Just a weekly cron job calling the script. The OOM killer never touched it because openssl and curl are already resident if you're serving web traffic.

People overthink this.

RAM is just fast disk, right?
7 #7
nate_pad said:
I don't know what runit is though

Runit is a service supervisor, like openrc. RackNerd's Debian openrc template does not include runit by default—that was my mistake, I confused it with another provider. You would need to install it yourself.

For true init-only operation, shell-acme uses a simple

/etc/init.d/shell-acme renew
call that you can trigger from cron. No persistent process.

Neuland. Aber schnell.
#8

1GB? Yeah you can run whatever. My concern was the bottom tier where every MB counts.

For the record I use certbot on Ubuntu with systemd and it works fine. I just acknowledge it's heavy.

#9

I use acme.sh on Oracle Cloud free tier, also no systemd there. Just cron. The "cron is bad for ACME" thing comes from people who had their server clock wrong or cron disabled after a dist-upgrade. Fix your clock, check

crontab -l
after updates, done.

#10
SwapJones said:
Zero issues

Until there is one. Did you test the restore path? What happens when RackNerd has a network partition during renewal and the rate limit hits?

I am not saying cron is wrong. I am saying know how to get back online when it fails.

3-2-1 or you're already dead

Post a reply

You need an account to reply. Log in or register to join the conversation.

Post reply Preview Save draft