# 2025 Source: https://docs.dcdeploy.com/changelog/2025 Changelogs * Improved activity timeline for better visibility into user and system actions. * Set a default GitHub source for more consistent deployment behavior. * Added log copy functionality for easier debugging and support. * Improved redeploy workflow for faster and more reliable rebuilds. * Introduced an updated user profile interface with better clarity and detail. * Updated development code improvements for internal consistency. * Introduced **Live Tail** in logs to view real-time streaming logs directly within the dashboard. * Optimized the **log processing pipeline** for faster rendering and reduced latency. * Added the **Environment Deletion** feature to safely remove unused environments. * Fixed a **major issue** where updating the revision version via GitHub commit push caused incorrect version tracking. * Displayed **Last Modified Time** for better visibility into recent configuration updates. * Passed **Revision ID** for precise cancellation workflows. * Added **Active Revision Key** handling to accurately show the current active revision chip. * Fixed **incorrect machine count and usage metrics** on the dashboard. * Enhanced **Database Backup** reliability and restore performance. * **Alert Emails** now include organization name, version details, and a direct link to open the affected service. * Refined **Cancel CTA** behavior for smoother interaction and better feedback. * Launched an **Interactive Tutorial** to help new users set up and deploy easily. * Improved **Build Performance** with reduced build times across all environments. * Added detailed **Build Events** for clearer visibility into the build lifecycle. * Introduced **Build/Revision Cancellation** with intuitive UI controls. * Released a **Revision List View** to manage and browse deployment revisions efficiently. * Added **Managed Database Support** for PostgreSQL, MariaDB, and MySQL — fully integrated within the dashboard. * Enhanced the **Deployment Experience** with improved feedback, stability, and error handling. * Fixed inconsistencies in **Service Deployment Status** reporting. * Applied general **Bug Fixes** and performance optimizations. * Launched **DCDeploy Overview Dashboard** → view org balance, usage, and activity timeline. * Added **User Management** with role changes and invitation support. * Added **Domains Management** → support for default `.cloud` domains and custom domains. * Introduced **Private Services & Databases using Internal Link** for secure intra-env connectivity. * Support for **Deploy from Docker Registry** (DockerHub & private registries). * Added **Scaling Options** with cold-start handling and auto-scaling to 1 during traffic spikes. * Introduced **Outbound Bandwidth** quota: free **1TB per organization**. * Released **Security Upgrades** using **Cilium, Kata Containers, Encryption at Rest, Secrets, and Isolation**. * Integrated **Cloudflare Edge Network** for DDoS protection and faster global delivery. * Default **API Rate Limits** added for fair usage and protection. ### Features * Diff change analyzer for better update tracking * Clone environment button with **Min-Scale support** and pricing details * Public **GitHub** repository integration * Database engine support with improved deployment success notifications * Multi-region support with updated region handling ### Fixes * Bug fixes across production services * Corrected logic for stopped machine count handling ### UI Updates * Updated service overview page for clarity * Improved deployment dialog with success messages * Refined notification system with dropdown enhancements * Font size and icon refinements for better readability ### Improvements * Optimized environment management and stability * Performance improvements across services * Workflow enhancements for smoother development # 2026 Source: https://docs.dcdeploy.com/changelog/2026 Changelogs * Improved **activity log filtering** for faster and more accurate results. * Optimized **environment usage limits** and billing consistency. * Enhanced invoice + pod usage tracking with a unified cron workflow. * Reduced backend overhead by removing unnecessary database calls. * Improved pod reconciliation by auto-marking deleted remote pods. * Fixed caching issues and applied general stability improvements. # Build Minutes Pricing Source: https://docs.dcdeploy.com/docs/billing/build-minutes-pricing Learn how DCDeploy calculates and charges for build minutes. Currently, all build minutes are unlimited and free of cost. ## Overview When you push code to your repository or trigger a **Rebuild & Deploy**, DCDeploy performs a **build process** to generate the Docker image for your service.\ This process consumes **build minutes** — the total time taken by DCDeploy’s infrastructure to compile, package, and prepare your application image. *** ## Current Pricing * **Unlimited build minutes** for all plans. * **No extra charges** are applied for builds. * Every build runs on high-performance infrastructure without time restrictions. This means you can push commits, trigger builds, and redeploy as many times as needed **without worrying about build minute limits**. *** ## Future Updates While build minutes are currently unlimited, DCDeploy may introduce: * **Plan-based limits** (e.g., Free tier with capped minutes, Pro with higher or unlimited). * **Additional usage-based pricing** for extremely heavy workloads. * **Build caching optimizations** to reduce build time and costs. > ⚠️ If DCDeploy introduces build minute quotas in the future, you’ll be notified in advance and can review the updated pricing at [DCDeploy.com/pricing](https://DCDeploy.com/pricing). *** ## Best Practices Even though build minutes are unlimited, it’s good to: * Use **Docker layer caching** to speed up builds. * Keep your **Dockerfile optimized** to reduce build time. * Use **multi-stage builds** for smaller and faster images. * Avoid unnecessary rebuilds by using **Redeploy** when only code/config changes. *** ## Learn More * [Rebuild & Deploy](./rebuild-deploy) * [Redeploy](./redeploy) * [Plans & Pricing](./plans-usage) # Invoices Source: https://docs.dcdeploy.com/docs/billing/invoices Learn how to view, download, and manage your monthly invoices in DCDeploy. Invoices provide a detailed record of your usage, charges, and billing information. ## Overview Invoices in **DCDeploy** are generated automatically at the end of each billing cycle.\ They contain a detailed breakdown of: * **Monthly usage charges** (compute, storage, bandwidth, databases, repos). * **Environment-wise usage summary**. * **Taxes (if applicable)**. * **Billing details** (based on the info you provided in the Billing Information form). *** ## Accessing Invoices 1. Navigate to **Settings → Usage and Billing**. 2. Scroll to the **Invoices** section. 3. Select the billing month you want to view. 4. Click **Download PDF** to save the invoice. *** ## Invoice Details Each invoice contains: * **Invoice number** – unique identifier for your records. * **Billing period** – start and end dates of usage. * **Customer details** – name, email, and billing address you provided. * **Usage summary** – charges grouped by environments and services. * **Payment status** – Paid / Pending. * **Downloadable PDF** – for accounting and compliance. *** ## Updating Billing Information * Invoices pull information from the **Billing Information** form. * Ensure your **Name, Address, GST/Business details** are correct before the billing cycle ends. * If you update after invoice generation, changes will only apply to **future invoices**. *** ## Business & Compliance * You can mark your account as **Business** to include company details. * GST/compliance-ready invoices are automatically generated. * Use invoices for bookkeeping, accounting, and audits. *** ## Best Practices * Always download and archive invoices for your records. * Verify billing details before the billing cycle closes. * Use **Business invoices** for tax and compliance reporting. * Compare invoice usage summary with the **Usage dashboard** for accuracy. *** # Outgoing Bandwidth Source: https://docs.dcdeploy.com/docs/billing/outgoing-badwidth Understand how outgoing bandwidth usage is measured and managed in DCDeploy. Each organization gets 1TB of free outgoing bandwidth per month. ## Overview Outgoing bandwidth refers to the amount of data transferred **from DCDeploy workloads to the public internet**.\ Every organization on DCDeploy gets **1TB of free outgoing bandwidth per month**. After this limit, additional usage may incur charges. *** ## Use Cases * Hosting APIs or web apps accessed by external clients. * Serving static files, media, or downloads to users. * Handling traffic spikes from public-facing services. *** ## Bandwidth Allocation * **1TB per month** included free per organization. * Applies across **all environments, workloads, and services** under the org. * Ingress (incoming traffic to workloads) is **not charged**. *** ## Monitoring Bandwidth Usage You can track outgoing bandwidth from the **DCDeploy dashboard**: 1. Go to **Settings → Usage & Billing**. 2. Check the **Daily Usage** chart for data transfer costs. 3. View **Usage by Environment** to see which workloads consume the most bandwidth. Example (UI): * env1 → 600GB * api-service → 200GB * file-storage → 150GB * db → negligible *** ## Best Practices * Use a **CDN (e.g., Cloudflare, AWS CloudFront)** to reduce direct bandwidth usage. * Compress responses with **gzip** or **brotli** to reduce data size. * Cache frequently accessed assets to avoid repeated transfers. * Monitor usage regularly to avoid hitting limits. *** ## Troubleshooting * **High unexpected bandwidth usage** * Check logs for unusually large file downloads. * Ensure you’re not accidentally exposing large public endpoints. * **Service throttled after exceeding limit** * Review your billing plan for overage charges. * Optimize traffic using caching/CDN. *** ## Learn More * [Plans & Pricing](./plans-usage) * [Usage & Billing](./usage-and-billing) * [Health Checks](./health-checks) # Persistent Volumes Source: https://docs.dcdeploy.com/docs/billing/persistant-volumes Use persistent volumes in DCDeploy to store data that survives container restarts, deployments, and scaling operations. ## Overview By default, workloads in DCDeploy use **ephemeral storage** — data is lost when the container restarts, redeploys, or scales.\ To store data reliably across restarts and deployments, DCDeploy provides **Persistent Volumes**. Persistent volumes are ideal for databases, file storage, or any workload that needs durable storage. *** ## Use Cases * Running databases like **Postgres, MySQL, MongoDB**. * Storing **uploaded files** (images, PDFs, media). * Maintaining **caches, logs, or stateful services** that must survive restarts. *** ## Prerequisites * An active **environment** in DCDeploy. * A workload with volume support enabled. * Sufficient quota for storage (allocated at org level). *** ## Step-by-Step Guide ### 1. Create a Service with Volume In the **DCDeploy dashboard**: 1. Go to **Deploy → Add Service**. 2. Under **Workload Settings**, choose **Persistent Volume**. 3. Set the **volume size** (e.g., 10GB). 4. Mount it at a path inside the container (e.g., `/data`). Example YAML (`DCDeploy.yml`): ```yaml theme={null} services: my-db: image: postgres:15 volumes: - mountPath: /var/lib/postgresql/data size: 20GB ``` ### 2. Access the Volume Inside your container, the mounted path behaves like a local folder. Example (Postgres): ```bash theme={null} psql -h localhost -U user -d mydb # Data will persist in /var/lib/postgresql/data across restarts ``` ### 3. Scaling Behavior * Vertical scaling (CPU/RAM changes): volume is preserved. * Horizontal scaling (multiple instances): each instance gets its own volume (data is not automatically shared). * For shared storage, use an external database or object storage. ## Best Practices * Always mount databases to a persistent volume. * Avoid storing large assets directly in volumes; use object storage (S3, GCS) instead. * Use backup tools to periodically snapshot data. * Keep volumes lightweight for faster redeploys. ## Troubleshooting * Data loss after redeploy: Ensure you’re using a persistent volume, not ephemeral storage. * Multiple replicas with inconsistent data: Volumes are not shared — use an external DB if consistency is required. * Storage full errors: Increase the volume size via dashboard or update your DCDeploy.yml. # Plans & Usage Source: https://docs.dcdeploy.com/docs/billing/plans-and-usage Learn how to manage billing, usage, and pricing in DCDeploy. Understand how costs are calculated, view usage by environment, and update billing details. ## Plans and Pricing DCDeploy offers flexible plans based on your usage and needs.\ You can explore all available plans and pricing options here: 👉 [View Plans & Pricing](https://DCDeploy.com/pricing) *** ## Usage The **Usage and Billing** page provides detailed insights into your monthly spend and environment-wise breakdown. ### Daily Usage * A graph displays the **amount spent in the last 30 days**. * Each bar represents daily spend in INR (₹). * Helps track spending patterns and detect unusual spikes. ### Usage by Environments * Shows total usage for the **current billing month**. * Breakdown by **environments** (e.g., `env1`, `private-repo`, `public-repo`, `db`). * Ensures you know exactly which workloads are driving costs. Example: | Environment | Monthly Usage (₹) | | ------------ | ----------------- | | env1 | 1,779.61 | | private-repo | 136.89 | | public-repo | 9,048.18 | | db | 576.41 | *** ### Usage by Machine Type (If enabled in your project) DCDeploy also provides usage per machine type: * **vCPU hours** – cost per compute unit used. * **Memory usage** – cost per GB-hour. * **Storage usage** – persistent disk or volume charges. * **Bandwidth** – outbound data transfer charges. This helps in identifying which workloads consume the most resources. *** ## Billing Information * Add your **Name, Email, Address, City, Postal Code, and Country**. * Option to mark as **Business** for GST/compliance invoices. * Saved billing details appear on your monthly invoices. *** ## Best Practices * Review usage trends weekly to avoid billing surprises. * Use environment-wise breakdown to optimize workloads. * Check machine type usage to downsize underutilized resources. * Keep billing info updated for correct invoicing. *** # Clone Service Source: https://docs.dcdeploy.com/docs/deploy/clone-service DCDeploy allows you to **clone an existing service** with a single click. This is useful when you want to create a new workload with the **same configuration** (build settings, ports, scaling rules, environment variables) as an existing one. *** ## When to use Clone * **Staging and Production** → Duplicate your service and point it to a different branch or database. * **A/B Testing** → Run two versions of the same service with small differences. * **Quick Setup** → Save time instead of re-entering build and scaling options manually. *** ## How to clone a service 1. Go to your **Environment Dashboard** → **Deploy tab**. 2. Select the service you want to clone (e.g., `bunny`). 3. At the bottom of the service card, click **Clone**. 4. A new service (`bunny-clone`) will be created with identical configuration. 5. Update the cloned service: * Change **name** to avoid conflicts. * Adjust **repository ref / branch / commit** if needed. * Modify **ports** if both services must run simultaneously. * Update **environment variables** (e.g., different API keys). *** ## Example: Cloning `bunny` Original service: Cloned service: *** ## Best practices * **Rename immediately** to avoid name conflicts. * **Keep configs in sync** with environment variables. * **Use cloning for speed**, but review each setting before deployment. *** # DCDeploy YAML Source: https://docs.dcdeploy.com/docs/deploy/dcdeploy-yaml Every deployment in DCDeploy is defined using a **`dcdeploy.yaml`** file. This manifest describes your workloads, how to build them, scaling limits, ports, regions, and environment configuration. Below is a breakdown of the structure with an example. **`dcdeploy.yaml`** is highly inspired by Docker Compose and follows the schema *** ## Example: `dcdeploy.yaml` ```yaml theme={null} services: nikaniki: type: service machineType: DCD-1 regions: India build: context: ./ dockerfilePath: ./Dockerfile private: true autoBuild: true repo: DCDeploy-labs/ecom-api ref: main refType: branch commitHash: 6970cad1cc13f5f542fcb3b4714695d6f69330b8 ports: - 45 minScale: 1 maxScale: 1 protocol: https madeline: type: service machineType: DCD-2 regions: India image: nginx ports: - 80 minScale: 1 maxScale: 1 protocol: https yt: type: service machineType: DCD-2 regions: India build: context: ./ dockerfilePath: ./Dockerfile repo: https://github.com/Utkarshya24/markedDownSyntax ref: master refType: branch commitHash: bd1f517f0a03f2fd202152cffbf1d4aa144d34c7 autoBuild: false private: false ports: - 3000 minScale: 1 maxScale: 1 protocol: https ``` *** ## Top-level fields ### `services` Defines all workloads (apps, APIs, background workers). Each key under `services:` is the unique service name. *** ## Service fields ### `type` Specifies the workload type. Currently supported: * `service` → Long-running service accessible via HTTP(s). ### `machineType` Defines the compute size used. Examples: * `DCD-1` → Small (low-cost) * `DCD-2` → Medium * etc... ### `regions` Specifies the deployment region. Example: `Mumbai (India)`, `Frankfurt (Germany)`. ### `build` Describes how to build the container image. * `context` → Path to the build directory. * `dockerfilePath` → Path to the Dockerfile. * `repo` → Source repository (GitHub). * `ref` → Branch, tag, or commit reference. * `refType` → Type of ref (`branch`, `tag`). * `commitHash` → Pin to a specific commit. * `autoBuild` → If true, DCDeploy auto-builds on new commits. * `private` → If true, repository is private. ### `image` Instead of `build`, you can directly use a pre-built Docker image: ```yaml theme={null} image: nginx:latest ``` ### `ports` List of exposed container ports (e.g., `80`, `3000`). ### `protocol` Defines network protocol: `https`. ### `minScale` / `maxScale` Defines autoscaling range. * `minScale` → Minimum instances always running. * `maxScale` → Maximum instances allowed. ### `environment` Optional key-value pairs for environment variables. ```yaml theme={null} environment: GEMINI_API_KEY: your-api-key MONGO_URI: mongodb+srv://... ``` *** ## Best practices * Use **`autoBuild: true`** for continuous deployment. * Prefer **`image`** for stable, pre-built containers. * Keep secrets in `environment` or [Secrets Manager](./environment-variables). * Use appropriate `minScale`/`maxScale` to balance cost and availability. *** # Deploy a Database Source: https://docs.dcdeploy.com/docs/deploy/deploy-db Provision and deploy a managed database in your DCDeploy environment.