TL;DR: Caddy — the modern web server with automatic HTTPS — now runs on IBM Power thanks to LibrePower. Whether you’re on AIX or Linux on Power (ppc64le), you can finally ditch manual certificate management and complex Nginx configs. Here’s why that matters, and how to get started.
If you’ve ever managed a web server on IBM Power, you already know the drill. Apache has been around forever. Nginx requires a PhD in configuration syntax. And SSL certificates? Let’s not even talk about the joy of renewing them manually at 2 AM on a Friday.
Meanwhile, the rest of the world moved on. A web server called Caddy has been quietly revolutionizing how people think about serving websites — with automatic HTTPS, a human-readable config file, and a single binary that just works.
The only problem? Getting it to run on IBM Power wasn’t exactly straightforward. Until now.
What Is Caddy (and Why Should Power Admins Care)?
Caddy is an open-source web server written in Go. It’s been around since 2015, and it has one killer feature that no other web server offers out of the box: fully automatic HTTPS.
That means:
- You type your domain name in the config file.
- Caddy obtains a TLS certificate from Let’s Encrypt.
- It renews it automatically before it expires.
- HTTP/2 and HTTP/3 are enabled by default.
- HTTP traffic is automatically redirected to HTTPS.
No Certbot. No cron jobs. No manual renewal scripts. No forgetting about it and waking up to an expired certificate warning in production.
Here’s what a complete production-ready reverse proxy looks like in Caddy:
app.example.com {
reverse_proxy localhost:8080
}
That’s it. Three lines. Compare that with the equivalent Nginx configuration — which typically runs 20-30 lines including SSL paths, cipher suites, proxy headers, and upstream definitions.
For IBM Power environments, where sysadmins are often responsible for dozens of services across AIX and Linux partitions, this simplicity is not a luxury. It’s a genuine time-saver.
The IBM Power Gap: Why Caddy Wasn’t Easy to Get
Caddy officially supports ppc64le in its Docker images — you can check the Caddy Docker Hub page and see ppc64le listed as a supported architecture. So if you’re running Linux on Power with Docker, you’re already covered.
But what about AIX?
That’s where things got complicated. There’s actually a known issue (#5970) in Caddy’s GitHub repository reporting that the AIX build was broken due to missing system call support in one of its dependencies. The issue was tagged as “deferred” — meaning the upstream project acknowledged it but wasn’t prioritizing a fix.
This is a pattern that IBM Power users know all too well. Go supports GOOS=aix GOARCH=ppc64 in theory, but in practice, many Go libraries have Linux-specific assumptions baked into their Unix code paths. Getting real-world applications to compile and run reliably on AIX requires patching, testing, and sometimes rewriting entire modules.
That’s exactly what the LibrePower project exists to do.
LibrePower: Open Source That Actually Works on Power
LibrePower is a community-driven initiative that brings modern open-source tools to the IBM Power ecosystem — covering AIX, IBM i, and Linux on Power (ppc64le).
The project maintains a curated package repository with tools that have been compiled, patched, and tested specifically for IBM Power. These aren’t just “it compiled once on a POWER9 somewhere” packages. They’re production-grade builds with proper AIX SRC integration, man pages, and compatibility testing across AIX 7.1, 7.2, and 7.3.
The repository already includes popular tools like:
- fzf — the fuzzy finder that transforms your terminal workflow
- MariaDB 11 — full-featured SQL database with AIX SRC integration
- ripgrep — 4x faster than grep, the first Rust application compiled for AIX
- delta — syntax-highlighting pager for git diffs
- nano — because not everyone wants to learn vi
- linux-compat — GNU coreutils, systemctl wrappers, and familiar commands
And now, Caddy joins the roster.
Getting Caddy on IBM Power
On AIX (via LibrePower)
The LibrePower Caddy package is available in the GitLab repository. It includes the build scripts, patches, and documentation needed to get Caddy running on AIX.
To install packages from the LibrePower repository:
# One-time setup
curl -fsSL https://aix.librepower.org/install.sh | sh
# Install packages
dnf install caddy
Check the Caddy package page on GitLab for specific AIX build notes and configuration examples.
On Linux on Power (ppc64le)
If you’re running RHEL, SUSE, Ubuntu, or Fedora on ppc64le, Caddy’s official installation methods work well:
# Debian/Ubuntu on ppc64le
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Or via Docker (ppc64le is natively supported):
docker run -d -p 80:80 -p 443:443 \
-v /site:/srv \
-v caddy_data:/data \
caddy
Building from Source on Power
Since Caddy is written in Go, you can also build it yourself with the Go toolchain for Power:
git clone https://github.com/caddyserver/caddy.git
cd caddy/cmd/caddy/
GOARCH=ppc64le go build
For custom builds with plugins, the xcaddy tool makes it easy:
xcaddy build --with github.com/caddy-dns/cloudflare
Caddy vs. Nginx vs. Apache: A Quick Comparison for Power Admins
| Feature | Caddy | Nginx | Apache |
|---|---|---|---|
| Automatic HTTPS | Built-in | Requires Certbot | Requires Certbot |
| Config complexity | Minimal (Caddyfile) | Moderate | Complex (.htaccess) |
| HTTP/2 support | Default | Requires config | Requires mod_http2 |
| HTTP/3 (QUIC) | Built-in | Experimental | Not supported |
| Reverse proxy | Built-in | Built-in | Requires mod_proxy |
| Reload without downtime | Yes (API-driven) | Requires reload signal | Requires restart |
| Single binary | Yes | No | No |
| AIX support | Via LibrePower | Available | Available (IBM Toolbox) |
| ppc64le Docker images | Official | Official | Official |
For Power environments where you’re already running Apache for legacy workloads, Caddy makes an excellent complementary choice — especially for new microservices, API gateways, internal tools, and development environments where you want modern TLS without the overhead.
Real-World Use Cases on IBM Power
1. Reverse Proxy for Internal Applications
Many IBM Power shops run dozens of internal web applications — from IBM WebSphere admin consoles to custom Node.js or Python services. Caddy can sit in front of all of them with a single Caddyfile:
websphere-admin.internal.example.com {
reverse_proxy 10.0.1.50:9060
}
monitoring.internal.example.com {
reverse_proxy 10.0.1.51:3000
}
api.internal.example.com {
reverse_proxy 10.0.1.52:8080
}
Each service gets its own TLS certificate, automatic renewal, and clean URL — with zero additional configuration.
2. Securing Legacy AIX Services
Running an older application that only speaks HTTP on AIX? Caddy acts as a TLS termination proxy:
legacy-app.example.com {
reverse_proxy http://localhost:8888
}
Your legacy app doesn’t need to change. Caddy handles all the TLS complexity.
3. Static File Server for Documentation
Hosting internal documentation, man pages, or runbooks? Caddy’s file server is elegant:
docs.internal.example.com {
root * /opt/docs
file_server browse
encode gzip
}
The browse directive gives you automatic directory listing with a clean UI.
4. Load Balancing Across LPARs
If you’re running the same service across multiple LPARs:
app.example.com {
reverse_proxy 10.0.1.10:8080 10.0.1.11:8080 10.0.1.12:8080 {
health_uri /health
health_interval 10s
}
}
Built-in health checking, automatic failover, no separate load balancer needed.
Why This Matters for the IBM Power Community
The IBM Power ecosystem has long been associated with enterprise reliability, but it sometimes feels left behind when it comes to modern developer tooling. Tools that “just work” on x86 often require significant effort to port and maintain on ppc64le and AIX.
Projects like LibrePower are changing that narrative. By systematically bringing modern open-source tools to Power — and doing the hard work of patching, compiling, and testing them properly — they’re making sure that IBM Power users don’t have to choose between enterprise stability and modern convenience.
Caddy on Power is a great example of this philosophy in action. It’s not just about having another web server option. It’s about bringing the same zero-configuration HTTPS experience that the rest of the industry enjoys to a platform that deserves it.
Get Involved
LibrePower is an open-source community project. Here’s how you can participate:
- Try it out: Install Caddy from the LibrePower repository and tell us how it goes
- Report issues: Found a bug or compatibility problem? Open an issue on GitLab
- Request packages: Is there a tool you’d love to see on AIX or Power? Let us know
- Contribute: The project welcomes pull requests — whether it’s code, documentation, or testing on different Power hardware
- Subscribe: Join the LibrePower newsletter for release announcements and technical articles
Useful Links
- Caddy Official Website
- Caddy Documentation
- Caddy on GitHub
- Caddy Docker Hub (ppc64le supported)
- LibrePower Website
- LibrePower AIX Repository
- LibrePower GitLab — Caddy Package
- OpenPOWER Foundation
- AIX Toolbox for Open Source Software
- OSU Open Source Lab — POWER Development Hosting
LibrePower is a community-driven open-source project building modern tools for the IBM Power ecosystem — AIX, IBM i, and Linux on Power (ppc64le). Visit librepower.org to learn more.