About docker-deployment
A deployment skill for running Docker web applications behind Nginx with HTTPS. It guides configuration of certificates, persistent data, and Cloudflare Tunnel connections.
Key features
- 01Nginx HTTPS and certificate setup
- 02Docker Compose certificate mounts
- 03Cloudflare Tunnel configuration
- 04Persistent data with named volumes
- 05HTTPS troubleshooting
Use cases
- 01Deploying a Docker web app with HTTPS
- 02Keeping application data across container restarts
- 03Diagnosing HTTPS and tunnel configuration issues
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ aaaaqwq/ agi-super-team --skill docker-deploymentAfter installing, type/docker-deploymentin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/cf-origin-cert.mdcf-tunnel.mddata-persistence.mdnginx-https.mdDetails
From the project READMEDocker Deployment with Nginx HTTPS
Quick Start
For Docker web application deployment with HTTPS support:
- Configure Nginx with SSL certificates (see nginx-https.md)
- Set up docker-compose.yml with certificate volume mounting
- Configure Cloudflare Tunnel to connect external domain to local container
Common Tasks
| Task | Reference |
|---|---|
| Nginx HTTPS configuration | nginx-https.md |
| Cloudflare Origin Certificate | cf-origin-cert.md |
| Docker data persistence | data-persistence.md |
| Cloudflare Tunnel setup | cf-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.
Comments
Markdown supported