Skip to main content
Reference architecture only. This page is not a production-certified deployment procedure and predates the current activation, image-pinning, secret-management, and network-isolation baseline. Use the supported on-premises guide or complete an enterprise architecture review before deployment.

Overview

This guide walks you through deploying CaseBender on DigitalOcean using pre-built Docker images with Kubernetes (DOKS) and managed services.

Prerequisites

  1. DigitalOcean Account
  2. doctl CLI installed
  3. kubectl installed
  4. Docker installed

Step 1: Initial Setup

Install and Configure doctl

Step 2: Create Kubernetes Cluster

Step 3: Set Up Managed Services

Create Spaces for Object Storage

Create Managed PostgreSQL

Create Managed Redis

Step 4: Configure Container Registry

Step 5: Deploy to Kubernetes

Create Namespace

Create Secrets

Deploy Applications

Create deployment.yaml:
Apply the deployments:

Create Services

Create service.yaml:
Apply the service:

Step 7: Set Up Ingress

Install NGINX Ingress Controller

Configure Ingress

Create ingress.yaml:
Apply the ingress:

Step 8: Set Up SSL with cert-manager

Monitoring and Maintenance

Set Up Monitoring

Configure Horizontal Pod Autoscaling

Create hpa.yaml:
Apply the HPA:

Backup and Disaster Recovery

Database Backups

DigitalOcean managed databases automatically handle backups. You can also:

Configure Database Failover

Security Best Practices

  1. Enable DigitalOcean Cloud Firewall
  2. Use private networking
  3. Implement network policies
  4. Regular security updates
  5. Enable audit logging

Cost Optimization

  1. Use appropriate node sizes
  2. Implement autoscaling
  3. Use block storage wisely
  4. Monitor resource usage
  5. Consider reserved droplets

Next Steps

  • Set up CI/CD pipeline
  • Configure monitoring alerts
  • Implement logging solution
  • Review security measures