I have my own domain and I wanted a certificate from Letsencrypt without myqnapcloud in the way.
At first I tried putting a reverse proxy in front of the nas with but that turned out to cause issues with qulog so I removed it.
Next, I tried installing acme.sh directly and this seems to work, here are the steps:
# get the API key for your DNS provider: avoids opening up the webserver to host the verification token
# login via ssh as admin, drop down to the shell
cd /tmp
curl -L \
https://github.com/acmesh-official/acme.sh/archive/master.tar.gz \
-o acme.sh.tar.gz
tar -xvf acme.sh.tar.gz
cd acme.sh-master/
# homedirs survive reboots / upgrades but any share would do
mkdir /share/CACHEDEV1_DATA/homes/admin/acme.sh
./acme.sh --install \
--home /share/CACHEDEV1_DATA/homes/admin/acme.sh \
-m "youremail@example.org"
# the acme install script will modify the RAM copy of the crontab, need to persist the changes
crontab -l | grep acme.sh >> /etc/config/crontab
# adapt to your specific DNS server, here I am using the (default) zone of OVH
export OVH_END_POINT="ovh-eu"
cd /share/CACHEDEV1_DATA/homes/admin/acme.sh/
./acme.sh --issue \
--dns dns_ovh -d "yournas.yourdomain.com" \
--reloadcmd "cat
/share/CACHEDEV1_DATA/homes/admin/acme.sh/yournas.yourdomain.com_ecc/yournas.yourdomain.com.key
/share/CACHEDEV1_DATA/homes/admin/acme.sh/yournas.yourdomain.com_ecc/fullchain.cer
> /etc/config/stunnel/stunnel.pem && /etc/init.d/stunnel.sh restart"
Warnings and notes:
- if you prefer myqnapcloud to messing with the system like I did, by all means do: this works for me but if it breaks you keep the pieces

- I did NOT use HTTP validation, but DNS: consult the API of the provider of your own domain to see how to obtain the API key to use with the DNSAPI
- my NAS is NOT exposed on the internet and I have configured my local unbound installation to fake an entry for yournas.yourdomain.com so that both acme.sh and my local clients are happy
- tested: survives reboots, daily suspend / standby cycles AND upgrades