Highly available reverse proxy for Docker Swarm, with automatic Let's Encrypt certificates.
477
A highly available reverse proxy for Docker Swarm. Apiary routes HTTP, HTTPS, TCP and UDP traffic to Swarm services, gets and renews certificates from Let's Encrypt on its own, and is managed from a web admin interface. Its state is replicated across its own replicas, so there is no external database to run.
Status: in development. Versions before
1.0.0(such as1.0.0-alpha.1) are for trying out only. Anything may change between them, including how state is stored. Don't use them in production.
Source code, documentation and issues: github.com/datapoint-software/apiary.
| Tag | What it is |
|---|---|
<version>, e.g. 1.0.0-alpha.1 | One version, never changed after it's published |
latest | The newest final release. Pre-releases don't move it, and there is none yet |
Every image is built for linux/amd64 and linux/arm64, and comes with build provenance and an SBOM.
Name a version when you deploy, so an upgrade happens only when you choose.
On a Swarm manager, create the root key, which encrypts everything Apiary stores:
(umask 077 && docker run --rm datapointsoftware/apiary:<version> secrets init > apiary_root_key_1)
docker secret create apiary_root_key_1 apiary_root_key_1
Keep a copy in your secret store, then delete the file. Then label the edge nodes and deploy the stack file:
docker node update --label-add apiary.edge=true <node>
APIARY_VERSION=<version> docker stack deploy -c stack.yaml apiary
The deployment guide covers the steps in full, including ports, the admin network and the first administrator.
| Port | What for |
|---|---|
| 80/tcp | HTTP, redirects to HTTPS, and Let's Encrypt's checks |
| 443/tcp, 443/udp | HTTPS and HTTP/3 |
| 9443/tcp | The admin UI and its API. Never expose it to the internet |
AGPL-3.0, with additional terms in NOTICE. Third-party notices are in /app/THIRD-PARTY-NOTICES.txt in the image.
Content type
Image
Digest
sha256:873190698…
Size
77.9 MB
Last updated
about 3 hours ago
docker pull datapointsoftware/apiary:1.0.0-beta.2