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
ordocker-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
- Ensure your
- 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 configurationdocker-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
- Changes to
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