janraasch/dsd-vps-kamal
Title: GitHub - janraasch/dsd-vps-kamal: A Django Simple Deploy plugin for configuring & automating deployments of your Django project to any VPS using Kamal.
URL Source: https://github.com/janraasch/dsd-vps-kamal
Markdown Content:
GitHub - janraasch/dsd-vps-kamal: A Django Simple Deploy plugin for configuring & automating deployments of your Django project to any VPS using Kamal. · GitHub
Navigation Menu
Toggle navigation
Appearance settings
-
Platform
-
AI CODE CREATION
-
DEVELOPER WORKFLOWS
-
APPLICATION SECURITY
-
EXPLORE
-
-
Solutions
-
BY COMPANY SIZE
-
BY USE CASE
-
BY INDUSTRY
-
-
Resources
-
EXPLORE BY TOPIC
-
EXPLORE BY TYPE
-
SUPPORT & SERVICES
-
-
Open Source
-
COMMUNITY
-
PROGRAMS
-
REPOSITORIES
-
-
Enterprise
Search or jump to...
Search code, repositories, users, issues, pull requests...
Search
Clear
Provide feedback
We read every piece of feedback, and take your input very seriously.
- [x] Include my email address so I can be contacted
Cancel Submit feedback
Saved searches
Use saved searches to filter your results more quickly
Name
Query
To see all available qualifiers, see our documentation.
Cancel Create saved search
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
janraasch/dsd-vps-kamalPublic template
- NotificationsYou must be signed in to change notification settings
- Fork 0
- Issues 2
- Pull requests 0
- Actions
- Security and quality 0
- Insights
Additional navigation options
janraasch/dsd-vps-kamal
main
Go to file
Code
Open more actions menu
Folders and files
| Name | Name | Last commit message | Last commit date |
| --- | --- | --- | --- |
| ## Latest commit janraasch Bump version success May 13, 2026 6e2452c·May 13, 2026 ## History 14 Commits Open commit details 14 Commits |
| .claude | .claude | Document release flow in CLAUDE.md | May 13, 2026 |
| .github | .github | Bump dependabot/fetch-metadata from 2 to 3 (#7) | Apr 9, 2026 |
| dsd_vps_kamal | dsd_vps_kamal | Usedjango-prodserver(#9) | May 13, 2026 |
| tests | tests | Usedjango-prodserver(#9) | May 13, 2026 |
| .gitignore | .gitignore | Initial commit | Mar 27, 2026 |
| LICENSE | LICENSE | Initial commit | Mar 27, 2026 |
| MANIFEST.in | MANIFEST.in | Initial commit | Mar 27, 2026 |
| README.md | README.md | Initial commit | Mar 27, 2026 |
| justfile | justfile | Initial commit | Mar 27, 2026 |
| pyproject.toml | pyproject.toml | Bump version | May 13, 2026 |
| uv.lock | uv.lock | Bump version | May 13, 2026 |
| View all files |
Repository files navigation
dsd-vps-kamal
A django-simple-deploy plugin for deploying Django projects to any VPS using Kamal.
Hetzner, DigitalOcean, Linode et al. — if you can SSH into it, you can deploy to it.
- Current Status 🙋♂️
- Installation 💻
- Configuration-only mode
- Fully automated deployment ⚡
- Development 🛠️
- Special Thanks ❤️
- License 📄
Current Status 🙋♂️
This plugin is in a pre-1.0 development phase. It's ready for use, but the API is not yet stable. See the roadmap to v1 for what's planned.
Installation 💻
undefinedshell pip install dsd-vps-kamal undefined
Then add django_simple_deploy to INSTALLED_APPS in your settings.py:
undefinedpython INSTALLED_APPS = [ # ... "django_simple_deploy", ] undefined
Usage 🧑🔧
Configuration-only mode
By default, the plugin configures your project for deployment but doesn't actually deploy. You review the changes, commit, and deploy yourself:
undefinedshell python manage.py deploy --ip-address undefined
This generates all the files Kamal needs — deploy.yml, Dockerfile, secrets, and production settings. Review the changes, then:
undefinedshell git add . git commit -m "Configured for deployment via Kamal." rvx kamal setup # see »Installing Kamal« below for more details undefined
Fully automated deployment ⚡
Pass --automate-all and the plugin handles everything — configuration, committing, and running kamal setup for you:
undefinedshell python manage.py deploy --automate-all --ip-address undefined
This requires a few things to be in place:
- VPS provisioning is out of scope (for now) — bring your own server; this command does not create or configure the VPS itself yet.
- SSH root access —
ssh root@<your-vps-ip>must work without a password prompt - Docker running locally — the Docker daemon needs to be active on your machine. We recommend Docker Desktop.
- Kamal installed locally — see Installing Kamal below
Options
--ip-address (required)
The IPv4 address of your VPS. This is how the plugin knows where to deploy.
--host (required for HTTPS, optional otherwise)
A domain name for Kamal's proxy routing, e.g. myapp.example.com. If you've pointed a DNS record at your VPS, pass it here:
undefinedshell python manage.py deploy --ip-address --host myapp.example.com undefined
If omitted, your app is served over HTTP on the IP address (no automatic TLS certificate).
--sqlite (optional)
Use SQLite instead of PostgreSQL:
undefinedshell python manage.py deploy --ip-address --sqlite undefined
Uses dj-lite for production-ready SQLite by default.
Installing Kamal 🔧
Kamal is a Ruby gem. If you already have Ruby set up:
undefinedshell gem install kamal undefined
If you'd rather not manage a Ruby environment, we recommend rv:
undefinedshell brew install rv # see https://github.com/spinel-coop/rv#installation for other OSes rv tool install kamal undefined
Then use rvx kamal wherever you'd normally run kamal. The plugin detects rv automatically when using --automate-all.
Development 🛠️
Install Just to run the development commands:
undefinedshell just dev-setup # clones core + installs everything in editable mode undefined
```
Other just recipes for development:
lint # Check linting (no fixes)
format # Format code
test-unit # Run unit tests
test-integration # Run integration tests
```
All available just commands:
just --list
Special Thanks ❤️
- Eric Matthes for django-simple-deploy — making Django deployment accessible to everyone
- David Heinemeier Hansson for Kamal — zero-downtime deployments to any VPS without the complexity
- Jeff Triplett for django-startproject — a fantastic project template and inspiration
- Adam Hill for dj-lite — production-ready SQLite for Django
- The Djangonauts program &Team Venus 🪐 - Session 6
License 📄
About
A Django Simple Deploy plugin for configuring & automating deployments of your Django project to any VPS using Kamal.
Topics
Resources
License
Uh oh!
There was an error while loading. Please reload this page.
Stars
Watchers
Forks
Releases 3
Use django-prodserver Latest May 13, 2026
Contributors 2
Languages
Footer
Footer navigation
- Terms
- Privacy
- Security
- Status
- Community
- Docs
- Contact
- Manage cookies
- Do not share my personal information
You can’t perform that action at this time.