Overview

Combine GitHub Actions (CI/CD) with Watchtower (auto-update containers) for fully automated deployments.

Setup

1. Install Watchtower

docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower \
  --interval 60

2. GitHub Actions Workflow

.github/workflows/deploy.yml:
name: Deploy

on:
  push:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Build and push
        run: |
          docker build -t your-registry/ripplecore-app:latest apps/app
          docker push your-registry/ripplecore-app:latest

3. Deploy

Push to main → GitHub Actions builds → Watchtower auto-updates containers.

Pros & Cons

Pros:
  • ✅ Fully automated
  • ✅ No deployment platform
  • ✅ Simple setup
Cons:
  • ❌ No rollback mechanism
  • ❌ All containers restart
  • ❌ Limited control
Best for: Teams wanting full automation with minimal setup.