2.4 KiB
2.4 KiB
Release v1.0.0 - Initial Release: Reusable Unprivileged Nginx Redirect
We are pleased to announce v1.0.0 of the Reusable Unprivileged Nginx Redirect container image! This release provides an ultra-lightweight, secure, non-root Docker solution for redirecting web traffic dynamically using environment variables.
🚀 Key Features
- Non-Root & Secure Base: Built on
nginxinc/nginx-unprivileged:alpine-slim(~12 MB footprint, runs as UID 101). - Zero Overhead Template Engine: Leverages native Nginx Docker template substitution (
envsubst) on startup. - Drone CI Host Integration: Pipeline builds directly onto the host server's Docker daemon via
/var/run/docker.sock, making tagged images immediately available locally fordocker runordocker compose. - Path & Query String Preservation: Support for preserving request paths via
$request_uri(e.g.,REDIRECT_TARGET="https://destination.com$request_uri"). - Health Check Bypass Endpoint: Built-in
/healthzlocation returns200 OKfor orchestrator probes without triggering redirects.
⚙️ Environment Variables
| Variable | Default Value | Description |
|---|---|---|
REDIRECT_TARGET |
https://example.com |
Target URL/domain for redirection. Append $request_uri to preserve path & query parameters. |
REDIRECT_CODE |
301 |
HTTP status code for redirection (e.g., 301, 302, 307, 308). |
LISTEN_PORT |
8080 |
Internal listening port (unprivileged non-root standard). |
📦 Drone CI Pipeline
Builds are triggered automatically on push and tag events. The host image is tagged as:
redirect:latestredirect:<commit_sha>redirect:<git_tag>(e.g.,redirect:v1.0.0)
🛠️ Quick Usage Examples
Single Container (Docker Run)
docker run -d \
--name redirect-domain \
-p 8080:8080 \
-e REDIRECT_TARGET="https://example.com\$request_uri" \
-e REDIRECT_CODE="301" \
redirect:v1.0.0
Multi-Container Deployment (Docker Compose)
services:
site-a-redirect:
image: redirect:v1.0.0
container_name: site-a-redirect
ports:
- "8081:8080"
environment:
- REDIRECT_TARGET=https://site-a.com
- REDIRECT_CODE=301
site-b-redirect:
image: redirect:v1.0.0
container_name: site-b-redirect
ports:
- "8082:8080"
environment:
- REDIRECT_TARGET=https://site-b.com$request_uri
- REDIRECT_CODE=302