{"id":1130,"date":"2026-07-18T17:22:03","date_gmt":"2026-07-18T17:22:03","guid":{"rendered":"https:\/\/inbz.eu\/?page_id=1130"},"modified":"2026-07-18T17:22:03","modified_gmt":"2026-07-18T17:22:03","slug":"proxmox-nextcloud-alpine-linux-install-ssl","status":"publish","type":"page","link":"https:\/\/inbz.eu\/?page_id=1130","title":{"rendered":"Proxmox &#8211; Nextcloud &#8211; Alpine Linux &#8211; Install SSL"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Because is very hard to find such instruction, so i made one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This instruction is for the&nbsp;alpine nextcloud server on proxmox hypervisor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Only to do, if you know what you do!!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">#for certbot<br><code>apk add --update python3 py3-pip<\/code><br><br>#install certbot<br>apk add certbot<br><br>#install nginx plugin for certbot<br><code>apk add certbot certbot-nginx<\/code><br><br>#create certificate<br>certbot --nginx<br><br>#should tell you that you dont need...<br>certbot renew<br><br><br>My problem was certbot cant change nginx locations of certificate files, so i need to do it manualy...<br><br>Change the location in:<br><code>etc\/nginx\/nginx.conf<\/code><br><br>The next 2 lines are to change, yourdomain.com schould your domain!<br><br>    ssl_certificate \/etc\/letsencrypt\/live\/yourdomain.com\/fullchain.pem;<br>    ssl_certificate_key \/etc\/letsencrypt\/live\/yourdomain.com\/privkey.pem;<br><br>Then: <br>    service nginx restart<br><br>Now schould work.<br><br>There are 2 ways for automatic reneval:<br><br><br><br>1. my way <br><br> &nbsp; crontab -e<br><br>   add the line:<br><br> &nbsp; 0 0 * * * certbot renew --nginx --quiet<br><br><br><br>2. way: (not tested found searching...)<br><br>  rc-service --list | grep -i crond<br><br>  when the output is crond  then --&gt; &nbsp;rc-service crond start &amp;&amp; rc-update add crond<br><br><br>  create script:<br><br>  #!\/bin\/sh<br>  python3 -c 'import random; import time; time.sleep(random.random() * 3600)' &amp;&amp; sudo certbot renew -q<br><br>  The location is <strong>\/etc\/periodic\/daily\/renew_letsencrypt<\/strong>. Save there<br><br><br>  chmod a+x \/etc\/periodic\/daily\/renew_letsencrypt<br><br>  validate it:<br>  run-parts --test \/etc\/periodic\/daily<br><br>  output should be:<br>  \/etc\/periodic\/daily\/renew_letsencrypt<\/pre>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Because is very hard to find such instruction, so i made one. This instruction is for the&nbsp;alpine nextcloud server on proxmox hypervisor. Only to do, if you know what you&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1130","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/inbz.eu\/index.php?rest_route=\/wp\/v2\/pages\/1130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inbz.eu\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/inbz.eu\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/inbz.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inbz.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1130"}],"version-history":[{"count":1,"href":"https:\/\/inbz.eu\/index.php?rest_route=\/wp\/v2\/pages\/1130\/revisions"}],"predecessor-version":[{"id":1132,"href":"https:\/\/inbz.eu\/index.php?rest_route=\/wp\/v2\/pages\/1130\/revisions\/1132"}],"wp:attachment":[{"href":"https:\/\/inbz.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}