Repository navigation
Releases: CaddyProxyManager/caddy-proxy-manager
Release list
v4.0.0-rc.6
Images
ghcr.io/caddyproxymanager/web:4.0.0-rc.6
ghcr.io/caddyproxymanager/caddy:4.0.0-rc.6
ghcr.io/caddyproxymanager/agent:4.0.0-rc.6
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Unchanged since v4.0.0-rc.4. Pulling the images is enough.
caddy-proxy-manager-v4.0.0-rc.6-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 4.0.0-rc.6 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- chore(release): 4.0.0-rc.6 (cd792bd)
- fix(web): Once again fix the formatting on upstream dns pinning (6758f7a)
- fix(web): Re-add the postgres variables instead of forcing a url (8fd2c40)
- feat(deploy): Add a nodb release channel that doesn't include postgres (dc42ead)
Full diff: v4.0.0-rc.4...v4.0.0-rc.6
v4.0.0-rc.5
Images
ghcr.io/caddyproxymanager/web:4.0.0-rc.5
ghcr.io/caddyproxymanager/caddy:4.0.0-rc.5
ghcr.io/caddyproxymanager/agent:4.0.0-rc.5
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Unchanged since v4.0.0-rc.4. Pulling the images is enough.
caddy-proxy-manager-v4.0.0-rc.5-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 4.0.0-rc.5 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- feat(deploy): Deplo (528137b)
Full diff: v4.0.0-rc.4...v4.0.0-rc.5
v4.0.0-rc.4
Images
ghcr.io/caddyproxymanager/web:4.0.0-rc.4
ghcr.io/caddyproxymanager/caddy:4.0.0-rc.4
ghcr.io/caddyproxymanager/agent:4.0.0-rc.4
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Unchanged since v4.0.0-rc.3. Pulling the images is enough.
caddy-proxy-manager-v4.0.0-rc.4-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 4.0.0-rc.4 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- chore(release): 4.0.0-rc.4 (d893ec5)
- fix: improve agent diagnostics and notification state (f70501e)
Full diff: v4.0.0-rc.3...v4.0.0-rc.4
v4.0.0-rc.3
Images
ghcr.io/caddyproxymanager/web:4.0.0-rc.3
ghcr.io/caddyproxymanager/caddy:4.0.0-rc.3
ghcr.io/caddyproxymanager/agent:4.0.0-rc.3
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Unchanged since v4.0.0-rc.2. Pulling the images is enough.
caddy-proxy-manager-v4.0.0-rc.3-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 4.0.0-rc.3 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- chore(release): 4.0.0-rc.3 (0038496)
- fix(caddy): build caddy with crowdsec if it's enabled in settings to stop a crash on launch (8488d0a)
Full diff: v4.0.0-rc.2...v4.0.0-rc.3
v4.0.0-rc.2
Images
ghcr.io/caddyproxymanager/web:4.0.0-rc.2
ghcr.io/caddyproxymanager/caddy:4.0.0-rc.2
ghcr.io/caddyproxymanager/agent:4.0.0-rc.2
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Unchanged since v4.0.0-rc.1. Pulling the images is enough.
caddy-proxy-manager-v4.0.0-rc.2-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 4.0.0-rc.2 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- chore(release): 4.0.0-rc.2 (c91e95c)
- add test fixes and switch to bun check instead of tsc (3647e46)
Full diff: v4.0.0-rc.1...v4.0.0-rc.2
v4.0.0-rc.1
Images
ghcr.io/caddyproxymanager/web:4.0.0-rc.1
ghcr.io/caddyproxymanager/caddy:4.0.0-rc.1
ghcr.io/caddyproxymanager/agent:4.0.0-rc.1
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Important
These live in your deployment directory, not in the images, so
docker compose pull will not update them. git pull the deploy repository
(or take them from the archive below) before docker compose up -d:
.env.exampledocker-compose.ymldocker/caddy/go.moddocker/caddy/go.sum
caddy-proxy-manager-v4.0.0-rc.1-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 4.0.0-rc.1 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- chore(release): 4.0.0-rc.1 (87d0c29)
- feat(certificates): choose the DNS provider per certificate in the dashboard (c7efe1c)
- feat(auth): a sign-up page for self-registration (f076eb1)
- fix(settings): render validation errors from codes so the setup screen speaks the reader's language (bc05856)
- feat(graphql): agent pairing, renaming, unpairing and rebuild mutations (2e842bd)
- feat(graphql): WAF preset, CRS plugin, Caddy module and OAuth provider mutations (354695b)
- feat(graphql): user creation, session revocation, forward-auth access and DNS credential mutations (9d9c611)
- feat(graphql): certificate, CA, client certificate and mTLS mutations (88c204a)
- docs(compose): say how to narrow the dashboard port after setup (4aa3e89)
- fix(i18n): word the last English strings from the catalog (04217cc)
- perf(db): index the audit filters, prune revisions in one statement, drop two dead tables (a0e6215)
- fix(caddy): hold crowdsec where the bouncer still builds (1f8abc5)
- perf(agent): run commands beside the event stream, not on it (ace03cf)
- fix(i18n): count with plural forms in the English fallback too (43a1db9)
- chore: satisfy the lint the test workflow runs (b4409ad)
- fix(i18n): settle the catalog's spellings and stop building one label in code (06418f2)
- fix(docs): forward the documented agent variables and document three REST routes (020856a)
- feat(agent): honour the Caddy build timeout setting (8da511f)
- fix(ui): give the upstream DNS pinning disclosure a body-sized label (d1640d9)
- feat(proxy-hosts): save through the review alone, with the editor's problems in view (795625d)
- feat(waf): let risky custom directives through with a warning, behind a strict setting (ac19ebd)
- perf: trim the hot paths and sweep tables nothing pruned (694b0d8)
- fix(security): close the gaps from the security pass (b1c63fc)
- fix(dns): send the DigitalOcean token under the key the module reads (0d9406a)
- docs(agents): spell out the branch naming rule (7ec0a3c)
- feat(docker): replace the HAProxy socket proxy with wollomatic/socket-proxy (ba42dbc)
- feat(waf): show the user agent and ASN in the event metadata list (cb4c235)
- feat(docker): bake the health check into the web image (995bf85)
Full diff: v3.9.0...v4.0.0-rc.1
v3.9.0
Images
ghcr.io/caddyproxymanager/web:3.9.0
ghcr.io/caddyproxymanager/caddy:3.9.0
ghcr.io/caddyproxymanager/agent:3.9.0
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Important
These live in your deployment directory, not in the images, so
docker compose pull will not update them. git pull the deploy repository
(or take them from the archive below) before docker compose up -d:
.env.exampledocker-compose.yml
caddy-proxy-manager-v3.9.0-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 3.9.0 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- chore(release): 3.9.0 (80923af)
- feat(email): add a sender name setting, keep the server out of the test email (94302d3)
- feat(oidc): read roles from a claim of their own (237c3c6)
- fix(live): drop the held report on new traffic, link audit history by uuid (694c10f)
- feat(live): push logs, analytics and WAF events to open pages (7774500)
- feat(proxy-hosts): address hosts by uuid, not serial id (a13ef66)
- feat(proxy-hosts): leave a host out of the access log (d5ea787)
- fix(agent): warn when the compose override is a symlink the container cannot follow (55fd5b5)
Full diff: v3.8.2...v3.9.0
v3.8.2
Images
ghcr.io/caddyproxymanager/web:3.8.2
ghcr.io/caddyproxymanager/caddy:3.8.2
ghcr.io/caddyproxymanager/agent:3.8.2
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Unchanged since v3.8.1. Pulling the images is enough.
caddy-proxy-manager-v3.8.2-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 3.8.2 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- chore(release): 3.8.2 (9c6f039)
Full diff: v3.8.1...v3.8.2
v3.8.1
Images
ghcr.io/caddyproxymanager/web:3.8.1
ghcr.io/caddyproxymanager/caddy:3.8.1
ghcr.io/caddyproxymanager/agent:3.8.1
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Unchanged since v3.8.0. Pulling the images is enough.
caddy-proxy-manager-v3.8.1-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 3.8.1 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- chore(release): 3.8.1 (32add2e)
Full diff: v3.8.0...v3.8.1
v3.8.0
Images
ghcr.io/caddyproxymanager/web:3.8.0
ghcr.io/caddyproxymanager/caddy:3.8.0
ghcr.io/caddyproxymanager/agent:3.8.0
Published by the image build this release starts; give it a few minutes. The
docker-compose.yml in the archive below already names these tags, so what you
deploy from it stays on this release until you choose to move -- but it also means
a docker compose pull run before the build finishes has nothing to fetch.
Deployment files
A clone of CaddyProxyManager/deploy upgrades with
git pull && docker compose pull && docker compose up -d.
Unchanged since v3.7.6. Pulling the images is enough.
caddy-proxy-manager-v3.8.0-deploy.tar.gz is ready to run as it unpacks: extract it
into one directory and docker compose up -d works without moving anything. Its one
subdirectory, docker/caddy/, is Caddy's build context, which Settings -> Caddy build
rebuilds from. It includes the managed CrowdSec container, which stays off
until Settings -> CrowdSec turns it on. Its docker-compose.yml differs from the
copy in the repository in exactly two ways: it mounts its files from beside itself
rather than from ./docker/, and it pins the three images to 3.8.0 rather
than latest.
The repository copy follows latest on purpose; this one is a snapshot of one
release and says so.
Installing without internet access
The image build attaches an air-gap bundle per architecture before this release is published:
-airgap-<web|caddy|agent>.tar.gz hold our images, -airgap-deploy.tar.gz the
deployment files and a load script, and the signed -airgap-manifest.txt their
checksums and the third-party images to bring in by digest. See
https://caddyproxy.com/start/offline/.
Changes
- chore(release): 3.8.0 (60b5531)
Full diff: v3.7.6...v3.8.0