Getting Started with DeployStack
DeployStack offers two distinct paths to transform your Docker projects into cloud-ready deployments: a Quick Start path for immediate results, and our Recommended path for enhanced control and automation. Let's explore both approaches in detail.
Understanding the Two Paths
š Quick Start Path
The Quick Start path is designed for developers who want to immediately make their Docker projects deployable, with minimal setup required. This approach works with your existing repository structure.
Recommended Path
The Recommended path provides additional features through a .deploystack configuration directory and GitHub app integration. This approach enables automatic updates, environment variable management, and project customization.
Quick Start Path: Detailed Guide
For Docker Compose Projects
Requirements
- A public GitHub repository
- A docker-compose.yml or docker-compose.yaml file in your repository's root directory
- Container images must be:
Pre-built and available in supported registries
Publicly accessible
Referenced using the image directive
Step-by-Step Process
- Repository Preparation
Ensure your docker-compose.yml is in the root directory
Verify all images are publicly accessible
Check that your compose file uses supported configuration options - Submission
Visit deploystack.io/submit
Enter your GitHub repository URL
Our system automatically detects your compose file
Review the detected configuration - Template Generation
Infrastructure templates are generated for each supported cloud provider
Templates are stored in our public repository
You receive deployment button code for your README.md
For Docker Run Commands
Requirements
- A public GitHub repository
- A valid Docker run command that includes:
Image name and tag
Port mappings (if required)
Environment variables (if needed)
Volume mounts (if necessary)
Step-by-Step Process
- Command Preparation
Ensure your Docker run command is complete and valid
Verify all referenced images are publicly available
Test the command locally if possible - Submission
Visit deploystack.io/submit
Enter your GitHub repository URL
Paste your Docker run command
Review the parsed configuration - Template Generation
Infrastructure templates are generated automatically
Templates are optimized for each cloud provider
You receive deployment button code
Recommended Path: Comprehensive Setup
The .deploystack Directory Structure
Create a .deploystack directory in your repository with these components:
.deploystack/
āāā docker-compose.yml # Your Docker Compose configuration
āāā docker-run.txt # Or your Docker run command
āāā env # Environment variables (optional)
āāā logo.webp # Your project logo (optional)
Component Details
Docker Configuration Files:
- docker-compose.yml: Your complete Docker Compose configuration
- docker-run.txt: Alternative to compose file, contains your Docker run command
- Only one of these files should be present
For more configuration options please check our .deploystack Directory Reference.
GitHub App Integration
The DeployStack Repository Sync app enables:
- Automatic Updates
Monitors changes to your Docker configurations
Updates templates when configurations change
Ensures templates stay in sync with your project - Installation Steps
Visit the GitHub app installation page
Select your repositories
Configure access permissions
Verify installation - Monitoring and Updates
Changes to .deploystack directory trigger updates
Only default branch changes are processed
Templates are automatically regenerated
Behind the Scenes: How It Works
The docker-to-iac Module
Our open-source docker-to-iac module:
- Parses your Docker configurations
- Handles multiple cloud provider translations
- Supports various infrastructure patterns
- Maintains provider-specific optimizations
Template Generation Process
- Configuration Analysis
Docker configurations are parsed
Dependencies are identified - Provider-Specific Translation
Templates generated for each provider
Provider best practices applied
Resource mappings optimized - Template Storage
Templates stored in deploy-templates
Version controlled for tracking
Publicly accessible
Deployment Button Integration
After template generation:
- Visit deploystack.io/deploy-button
- Select your preferred button style
- Copy the generated code
- Add to your README.md
Best Practices
Repository Organization
- Keep Docker configurations clean and well-documented
- Use specific version tags for images
- Document environment variable requirements
- Include clear deployment instructions
Configuration Management
- Use the .deploystack directory for better organization
- Keep environment variables separate
- Test configurations locally
Deployment Strategy
- Start with the Quick Start path if needed
- Migrate to Recommended path for better control
- Use GitHub app for automatic updates
Troubleshooting Common Issues
Template Generation
- Verify image accessibility
- Check Docker configuration syntax
- Ensure all required ports are exposed
- Validate environment variables
Need Additional Help?
- Review our detailed Troubleshooting Guide
- Join our active Discord Community
- Submit issues on GitHub to our Feedback repository