Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e9301ae2a | |||
| 7e2142ce53 |
@@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-03-19 - 11.4.0 - feat(docs)
|
||||||
|
document OCI container deployment and enable verbose docker build scripts
|
||||||
|
|
||||||
|
- adds a new README section covering Docker/OCI container deployment, environment variables, and image build/push commands
|
||||||
|
- updates docker build and release npm scripts to pass the --verbose flag for more detailed output
|
||||||
|
|
||||||
## 2026-03-18 - 11.3.0 - feat(docker)
|
## 2026-03-18 - 11.3.0 - feat(docker)
|
||||||
add OCI container startup configuration and migrate Docker release pipeline to tsdocker
|
add OCI container startup configuration and migrate Docker release pipeline to tsdocker
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@serve.zone/dcrouter",
|
"name": "@serve.zone/dcrouter",
|
||||||
"private": false,
|
"private": false,
|
||||||
"version": "11.3.0",
|
"version": "11.4.0",
|
||||||
"description": "A multifaceted routing service handling mail and SMS delivery functions.",
|
"description": "A multifaceted routing service handling mail and SMS delivery functions.",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": {
|
"exports": {
|
||||||
@@ -16,8 +16,8 @@
|
|||||||
"start": "(node --max_old_space_size=250 ./cli.js)",
|
"start": "(node --max_old_space_size=250 ./cli.js)",
|
||||||
"startTs": "(node cli.ts.js)",
|
"startTs": "(node cli.ts.js)",
|
||||||
"build": "(tsbuild tsfolders --allowimplicitany && npm run bundle)",
|
"build": "(tsbuild tsfolders --allowimplicitany && npm run bundle)",
|
||||||
"build:docker": "tsdocker build",
|
"build:docker": "tsdocker build --verbose",
|
||||||
"release:docker": "tsdocker push",
|
"release:docker": "tsdocker push --verbose",
|
||||||
"bundle": "(tsbundle)",
|
"bundle": "(tsbundle)",
|
||||||
"watch": "tswatch"
|
"watch": "tswatch"
|
||||||
},
|
},
|
||||||
|
|||||||
1785
pnpm-lock.yaml
generated
1785
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
44
readme.md
44
readme.md
@@ -30,6 +30,7 @@ For reporting bugs, issues, or security vulnerabilities, please visit [community
|
|||||||
- [API Reference](#api-reference)
|
- [API Reference](#api-reference)
|
||||||
- [Sub-Modules](#sub-modules)
|
- [Sub-Modules](#sub-modules)
|
||||||
- [Testing](#testing)
|
- [Testing](#testing)
|
||||||
|
- [Docker / OCI Container Deployment](#docker--oci-container-deployment)
|
||||||
- [License and Legal Information](#license-and-legal-information)
|
- [License and Legal Information](#license-and-legal-information)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
@@ -1278,6 +1279,49 @@ tstest test/test.opsserver-api.ts --verbose --timeout 60
|
|||||||
| `test.protected-endpoint.ts` | Admin auth, identity verification, public endpoints | 8 |
|
| `test.protected-endpoint.ts` | Admin auth, identity verification, public endpoints | 8 |
|
||||||
| `test.storagemanager.ts` | Memory, filesystem, custom backends, concurrency | 8 |
|
| `test.storagemanager.ts` | Memory, filesystem, custom backends, concurrency | 8 |
|
||||||
|
|
||||||
|
## Docker / OCI Container Deployment
|
||||||
|
|
||||||
|
DcRouter ships with a `Dockerfile` and supports environment-variable-driven configuration for OCI container deployments. When `DCROUTER_MODE=OCI_CONTAINER` is set, DcRouter automatically reads configuration from environment variables (and optionally from a JSON config file).
|
||||||
|
|
||||||
|
### Running with Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
-e DCROUTER_MODE=OCI_CONTAINER \
|
||||||
|
-e DCROUTER_TLS_EMAIL=admin@example.com \
|
||||||
|
-e DCROUTER_PUBLIC_IP=203.0.113.1 \
|
||||||
|
-e DCROUTER_DNS_NS_DOMAINS=ns1.example.com,ns2.example.com \
|
||||||
|
-e DCROUTER_DNS_SCOPES=example.com \
|
||||||
|
-p 80:80 -p 443:443 -p 25:25 -p 53:53/udp -p 3000:3000 \
|
||||||
|
code.foss.global/serve.zone/dcrouter:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
|
||||||
|
| Variable | Description | Example |
|
||||||
|
|----------|-------------|---------|
|
||||||
|
| `DCROUTER_MODE` | Set to `OCI_CONTAINER` to enable container mode | `OCI_CONTAINER` |
|
||||||
|
| `DCROUTER_CONFIG_PATH` | Path to a JSON config file (loaded as base, env vars override) | `/config/dcrouter.json` |
|
||||||
|
| `DCROUTER_BASE_DIR` | Override base data directory | `/data/dcrouter` |
|
||||||
|
| `DCROUTER_TLS_EMAIL` | ACME contact email | `admin@example.com` |
|
||||||
|
| `DCROUTER_TLS_DOMAIN` | Primary TLS domain | `example.com` |
|
||||||
|
| `DCROUTER_PUBLIC_IP` | Public IP for DNS records | `203.0.113.1` |
|
||||||
|
| `DCROUTER_PROXY_IPS` | Comma-separated ingress proxy IPs | `198.51.100.1,198.51.100.2` |
|
||||||
|
| `DCROUTER_DNS_NS_DOMAINS` | Comma-separated nameserver domains | `ns1.example.com,ns2.example.com` |
|
||||||
|
| `DCROUTER_DNS_SCOPES` | Comma-separated authoritative domains | `example.com,other.com` |
|
||||||
|
| `DCROUTER_EMAIL_HOSTNAME` | SMTP server hostname | `mail.example.com` |
|
||||||
|
| `DCROUTER_EMAIL_PORTS` | Comma-separated email ports | `25,587,465` |
|
||||||
|
| `DCROUTER_CACHE_ENABLED` | Enable/disable cache database | `true` |
|
||||||
|
|
||||||
|
### Building the Image
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm run build:docker # Build the container image
|
||||||
|
pnpm run release:docker # Push to registry
|
||||||
|
```
|
||||||
|
|
||||||
|
The Docker build supports multi-platform (`linux/amd64`, `linux/arm64`) via [tsdocker](https://code.foss.global/git.zone/tsdocker).
|
||||||
|
|
||||||
## License and Legal Information
|
## License and Legal Information
|
||||||
|
|
||||||
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](./LICENSE) file.
|
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](./LICENSE) file.
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@serve.zone/dcrouter',
|
name: '@serve.zone/dcrouter',
|
||||||
version: '11.3.0',
|
version: '11.4.0',
|
||||||
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@serve.zone/dcrouter',
|
name: '@serve.zone/dcrouter',
|
||||||
version: '11.3.0',
|
version: '11.4.0',
|
||||||
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user