A DevPod provider for Dokploy that creates development workspaces using Docker Compose services.
Core functionality is working and tested.
Creates development workspaces on your Dokploy server that you can connect to with DevPod. Think of it as your personal cloud development environment that automatically sets up everything you need.
DevPod β Dokploy Provider β Docker Compose Service β SSH Access β Your Code
- Creates infrastructure: Spins up Docker Compose services in Dokploy
- Sets up SSH: Configures secure root access to containers
- Installs DevPod agent: DevPod connects and sets up your dev environment
- Ready to code: Open in VS Code, clone repos, install dependencies automatically
- β Docker Compose services - Uses Dokploy's stable service infrastructure
- β SSH setup - Automatic port mapping and authentication
- β DevPod integration - Full workspace lifecycle support
- β Docker-in-Docker - Complete container development capabilities
- β Git repositories - Clone and develop any repository
- β Go binary helper - Fast operations instead of slow shell scripts
- DevPod installed locally
- Dokploy server with API access
- API token with project creation permissions
Component | Supported Version | Status |
---|---|---|
DevPod | v0.6.15 | β Tested & Supported |
Dokploy | v0.22.7 | β Tested & Supported |
β οΈ Note: We currently do not offer backward compatibility. Always use the exact versions listed above for the best experience. Newer versions may work but are not guaranteed to be compatible until tested and updated here.
# Clone and build
git clone https://github.com/your-org/dokploy-devpod-provider
cd dokploy-devpod-provider
make build
make install-dev
devpod provider set-options dokploy-dev \
DOKPLOY_SERVER_URL=https://your-dokploy-server.com \
DOKPLOY_API_TOKEN=your-api-token
# From a Git repository
devpod up https://github.com/microsoft/vscode-remote-try-node --provider dokploy-dev
# From a Docker image
devpod up ubuntu --provider dokploy-dev
Option | Description | Default | Required |
---|---|---|---|
DOKPLOY_SERVER_URL |
Your Dokploy server URL | - | β |
DOKPLOY_API_TOKEN |
API token for authentication | - | β |
DOKPLOY_PROJECT_NAME |
Project name for workspaces | devpod-workspaces |
β |
Note: DevPod automatically manages agent installation, credentials injection, and auto-shutdown features.
# Build binary
make build
# Install as development provider
make install-dev
# Test different scenarios
make test-git # Test Git repository
make test-docker # Test Docker image
make test-lifecycle # Full create/delete cycle
# Clean up stuck workspaces
make force-uninstall
The provider creates workspaces with a 4-stage setup (~2-4 minutes):
- Docker daemon startup (~30-60 seconds)
- Install SSH server + tools (~30-60 seconds)
- Configure SSH for root user (~10-20 seconds)
- Finalize SSH daemon (~10-20 seconds)
- Base Image:
cruizba/ubuntu-dind:latest
(Docker-in-Docker) - SSH Authentication: Root access with key injection
- Port Range: 2222-2250 for SSH mappings
- API Integration: Dokploy REST API for service management
SSH connection issues
- Wait 2-4 minutes for full container setup
- Check if ports 2222-2250 are available
- Verify API token has correct permissions
DevPod provider issues
- Try
devpod provider delete dokploy-dev && make install-dev
to reinstall - Check logs with
devpod up --debug
Container startup problems
- Check Dokploy dashboard for service status
- Look at Docker Compose service logs in Dokploy
- Ensure Docker Swarm ports have propagated (can take 60+ seconds)
- Only tested on a few setups - might break in other environments
- SSH setup is slow (2-4 minutes)
- Port range is hardcoded (2222-2250)
- Error handling could be better
- No resource limits on containers
- Limited debugging tools
This is a prototype that needs work! Help is welcome:
- π§ͺ Test on different environments - Try it on your setup
- π Improve error messages - Make failures clearer
- π Fix edge cases and bugs - There are definitely some
- π Write better documentation - Always room for improvement
See CONTRIBUTING.md for development details.
MIT License - feel free to use this however you want.
- DevPod for the amazing development environment platform
- Dokploy for the deployment infrastructure
- Docker for making containers awesome
- cruizba/ubuntu-dind for the excellent Ubuntu Docker-in-Docker base image
- STACKIT DevPod Provider for the amazing provider codebase