This project serves as a template for quickly setting up new projects with a Docker-based development environment, using UV for Python package management, VS Code DevContainers for development, and various other features.
- Interactive Setup: Run the setup script to create a new project with your chosen features
- Docker Development Environment: Containerized development environment for consistent development across machines
- Python with UV: Modern, fast Python package management
- VS Code DevContainer Integration: Seamless development experience in VS Code
- Customizable Features: Choose from various components including:
- Django Backend
- PostgreSQL Database
- Redis Cache
- Frontend (Node.js)
- CI/CD Pipeline
- Pre-commit Hooks
- Wagtail CMS
-
Clone this repository:
git clone https://github.com/yourusername/docker-uv-devcontainer-ci.git cd docker-uv-devcontainer-ci
-
Make the setup script executable (on Unix-like systems):
chmod +x setup.sh
On Windows, you may need to run it using:
bash setup.sh
-
Run the setup script:
On Unix-like systems:
./setup.sh
On Windows:
.\setup.ps1
-
Follow the interactive prompts:
- Enter your project name
- Select desired features using checkboxes (navigate with arrow keys, select with space, confirm with enter)
- Wait for the script to generate your project
-
Navigate to your new project directory and start developing!
- Bash shell
- Docker and Docker Compose
- VS Code with Remote - Containers extension (for DevContainer support)
The setup script will:
- Ask for your project name
- Present a list of features to include
- Create a new directory with your project name
- Generate customized configuration files based on your selections
- Set up Docker, DevContainer, and other configurations
Contributions are welcome! Feel free to submit issues or pull requests to improve this template.
MIT