<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ACME Proxy</title><link>https://software.es.net/acme-proxy/</link><description>Recent content on ACME Proxy</description><generator>Hugo</generator><language>en</language><atom:link href="https://software.es.net/acme-proxy/index.xml" rel="self" type="application/rss+xml"/><item><title>Quickstart</title><link>https://software.es.net/acme-proxy/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://software.es.net/acme-proxy/quickstart/</guid><description>&lt;h1 id="quickstart"&gt;Quickstart&lt;a class="anchor" href="#quickstart"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This is the fastest path to a running acme-proxy. It uses a one-line installer script that sets up the service with sane defaults, requires only five config fields, and is ready to issue certificates in under five minutes.&lt;/p&gt;
&lt;p&gt;For production deployments with custom install paths, build-from-source, or Docker, see &lt;a href="https://software.es.net/acme-proxy/install/"&gt;install.md&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-1--install"&gt;Step 1 — Install&lt;a class="anchor" href="#step-1--install"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://raw.githubusercontent.com/esnet/acme-proxy/main/install.sh | sudo sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The script:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installs the &lt;code&gt;step-ca&lt;/code&gt; binary to &lt;code&gt;/opt/acme-proxy/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Writes a &lt;code&gt;ca.json&lt;/code&gt; config template to &lt;code&gt;/opt/acme-proxy/ca.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Creates a dedicated &lt;code&gt;acme-proxy&lt;/code&gt; service user&lt;/li&gt;
&lt;li&gt;Registers and enables an &lt;code&gt;acme-proxy.service&lt;/code&gt; systemd unit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The service is &lt;strong&gt;enabled but not started&lt;/strong&gt; — configure &lt;code&gt;ca.json&lt;/code&gt; first.&lt;/p&gt;</description></item><item><title>Install</title><link>https://software.es.net/acme-proxy/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://software.es.net/acme-proxy/install/</guid><description>&lt;h1 id="install"&gt;Install&lt;a class="anchor" href="#install"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Three methods are available. The install script is recommended for most deployments.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Method&lt;/th&gt;
 &lt;th&gt;Best for&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="#install-script-recommended"&gt;Install script&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Standard Linux servers, systemd environments&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="#pre-built-binary"&gt;Pre-built binary&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Environments where curl-pipe-to-shell is prohibited&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="#build-from-source"&gt;Build from source&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Development, or architectures not covered by releases&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="#docker"&gt;Docker&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Container-based deployments&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="install-script-recommended"&gt;Install Script (Recommended)&lt;a class="anchor" href="#install-script-recommended"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The install script downloads the appropriate release binary, creates a dedicated service user, installs a &lt;code&gt;ca.json&lt;/code&gt; template, and registers a hardened &lt;code&gt;systemd&lt;/code&gt; service unit.&lt;/p&gt;</description></item><item><title>Troubleshoot</title><link>https://software.es.net/acme-proxy/troubleshoot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://software.es.net/acme-proxy/troubleshoot/</guid><description/></item><item><title>User Guide</title><link>https://software.es.net/acme-proxy/user/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://software.es.net/acme-proxy/user/</guid><description>&lt;h1 id="user-guide"&gt;User Guide&lt;a class="anchor" href="#user-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This guide covers how to obtain and automatically renew TLS certificates from &lt;code&gt;acme-proxy&lt;/code&gt; using three common ACME clients: &lt;a href="https://github.com/acmesh-official/acme.sh"&gt;acme.sh&lt;/a&gt;, &lt;a href="https://certbot.eff.org/"&gt;Certbot&lt;/a&gt;, and &lt;a href="https://go-acme.github.io/lego/"&gt;Lego&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ACME directory URL:&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;https://acme-proxy.example.com/acme/acme/directory&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Replace &lt;code&gt;acme-proxy.example.com&lt;/code&gt; with your organization&amp;rsquo;s actual acme-proxy hostname.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;a class="anchor" href="#table-of-contents"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#1-nginx-on-linux-vm--baremetal"&gt;1. NGINX on Linux VM / Baremetal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#2-apache-on-linux-vm--baremetal"&gt;2. Apache on Linux VM / Baremetal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#3-standalone-mode-databases-redis-kafka-etc"&gt;3. Standalone Mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#4-docker-and-docker-compose"&gt;4. Docker and Docker Compose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#5-kubernetes-cert-manager"&gt;5. Kubernetes (cert-manager)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="anchor" href="#prerequisites"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The ACME client must be installed and an account registered with acme-proxy before running any commands in this guide. See &lt;a href="./admin.md"&gt;admin.md&lt;/a&gt; for installation instructions and systemd renewal timer setup.&lt;/li&gt;
&lt;li&gt;Port 80 must be reachable from the acme-proxy server (used for HTTP-01 challenge validation).&lt;/li&gt;
&lt;li&gt;Your domain&amp;rsquo;s DNS must resolve to the host where the ACME client runs.&lt;/li&gt;
&lt;li&gt;Replace the following placeholders throughout this guide:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;acme-proxy.example.com&lt;/code&gt; — your acme-proxy hostname&lt;/li&gt;
&lt;li&gt;&lt;code&gt;myserver.example.com&lt;/code&gt; — the domain you want a certificate for&lt;/li&gt;
&lt;li&gt;&lt;code&gt;admin@example.com&lt;/code&gt; — your contact email&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="1-nginx-on-linux-vm--baremetal"&gt;1. NGINX on Linux VM / Baremetal&lt;a class="anchor" href="#1-nginx-on-linux-vm--baremetal"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1a-acmesh"&gt;1a. acme.sh&lt;a class="anchor" href="#1a-acmesh"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Register and issue a certificate (single domain):&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ACME Clients</title><link>https://software.es.net/acme-proxy/client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://software.es.net/acme-proxy/client/</guid><description>&lt;h1 id="acme-clients"&gt;ACME Clients&lt;a class="anchor" href="#acme-clients"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This guide covers installation and system-level configuration of ACME clients for use with acme-proxy. It is intended for system administrators deploying certificate automation on behalf of end users.&lt;/p&gt;
&lt;p&gt;For certificate issuance commands and per-scenario usage, see &lt;a href="https://software.es.net/acme-proxy/user/"&gt;user.md&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;a class="anchor" href="#table-of-contents"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#installing-acme-clients"&gt;Installing ACME Clients&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#account-registration"&gt;Account Registration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#configuring-auto-renewal-via-systemd"&gt;Configuring Auto-Renewal via Systemd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#log-management"&gt;Log Management&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="installing-acme-clients"&gt;Installing ACME Clients&lt;a class="anchor" href="#installing-acme-clients"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="certbot"&gt;Certbot&lt;a class="anchor" href="#certbot"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Certbot&amp;rsquo;s actively maintained distribution is via Snap. The &lt;code&gt;.deb&lt;/code&gt; packages available in apt repositories are no longer maintained by the Certbot project and ship outdated versions.&lt;/p&gt;</description></item><item><title>Port Requirements</title><link>https://software.es.net/acme-proxy/firewall/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://software.es.net/acme-proxy/firewall/</guid><description/></item></channel></rss>