Claude-skill-registry docker-deployment

Docker container deployment with Nginx HTTPS configuration and Cloudflare Tunnel integration. Use when deploying web applications with Docker, configuring SSL/TLS certificates, setting up Nginx reverse proxy, or integrating with Cloudflare Tunnel for secure external access.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/docker-deployment" ~/.claude/skills/majiayu000-claude-skill-registry-docker-deployment && rm -rf "$T"
manifest: skills/data/docker-deployment/SKILL.md
source content

Docker Deployment with Nginx HTTPS

Quick Start

For Docker web application deployment with HTTPS support:

  1. Configure Nginx with SSL certificates (see nginx-https.md)
  2. Set up docker-compose.yml with certificate volume mounting
  3. Configure Cloudflare Tunnel to connect external domain to local container

Common Tasks

TaskReference
Nginx HTTPS configurationnginx-https.md
Cloudflare Origin Certificatecf-origin-cert.md
Docker data persistencedata-persistence.md
Cloudflare Tunnel setupcf-tunnel.md

Architecture Overview

Internet → Cloudflare Edge (HTTPS) → Cloudflare Tunnel → Ubuntu/Docker (Nginx)

Key Principles

  • Always use named Docker volumes for persistent data
  • Nginx should redirect HTTP (80) to HTTPS (443) in production
  • Cloudflare Origin Certificates are for CF-to-origin encryption only
  • Tunnel connects to HTTP or HTTPS - configure based on nginx setup

Troubleshooting

HTTPS not working after enabling Cloudflare force HTTPS?

  • Check if nginx listens on port 443
  • Verify SSL certificates are mounted correctly
  • Ensure Cloudflare Tunnel service URL matches (http:// or https://)

Data lost after container restart?

  • Check docker-compose.yml uses named volumes, not bind mounts for critical data
  • Verify database path points to mounted volume directory

See individual reference files for detailed solutions.