A plugin for django-simple-deploy, supporting deployments to Cloudron.
Project description
dsd-cloudron
A django-simple-deploy plugin that configures and deploys Django projects to Cloudron. One install serves two audiences:
- Retrofit an existing project:
python manage.py deploy --location <subdomain> - Greenfield a new project:
dsd-cloudron new "My App"
Both render the same Cloudron artifact set (manifest, Dockerfile, start.sh, supervisor configs, nginx, settings glue) through one packaging core.
Documentation: https://dsd-cloudron.readthedocs.io
Install
pip install dsd-cloudron
npm install -g cloudron
cloudron login my.example.com
Retrofit an existing Django project
pip install django-simple-deploy dsd-cloudron
python manage.py deploy --location blog # config only
python manage.py deploy --location blog --automate-all # config + install
Infra addons (PostgreSQL, Redis, sendmail) are on by default. The app-intrusive
ones are opt-in: --celery generates a Celery app module wired to the Redis
broker; --sso renders the Cloudron OIDC addon and a django-allauth provider
config and adds the dependency, then prints the steps to finish wiring allauth
into INSTALLED_APPS/urls.py and run migrate (a project scaffolded with
dsd-cloudron new --sso gets that wiring automatically). Useful flags:
--health-check-path, --memory-limit, --app-id, --force-overwrite,
--no-redis, --no-sendmail.
Scaffold a new project
dsd-cloudron new "My App" --celery --sso
cd my_app
cloudron install -l my-app
The control surface
The generated files ARE the configuration. Edit and re-deploy:
CloudronManifest.json- addons,memoryLimit,httpPort,healthCheckPath.healthCheckPathmust return a 2xx response or the install fails its health check. Greenfield ships a/healthz/view that returns 200.<project>/cloudron_settings.py- the Django glue, gated onCLOUDRON_APP_ORIGINso it is inert during local development. Drop a/app/data/custom_settings.pyon the server for ad-hoc overrides; it runs only when owned byroot(create it viacloudron execasroot:cloudronmode 640), so a file the app could write itself is skipped.Dockerfile,start.sh,nginx.conf,supervisor/- the runtime.
Re-running manage.py deploy is safe but not silently idempotent: the settings
block is guarded, and rendered artifacts are skip-if-present (regenerate with
--force-overwrite).
Iterate
# edit code or config, then:
cloudron update --app <subdomain>
cloudron logs --app <subdomain> -f
/app/data and the Postgres/Redis addons persist across updates; migrate runs
on every start.
First sign-in
A local admin account is created on the first install; its generated password
is saved on the server at /app/data/.initial_admin_password. Read it with
cloudron exec --app <subdomain> -- cat /app/data/.initial_admin_password during
the first-boot window - the file is removed automatically on the next start once
the app is initialized (if you miss it, reset with manage.py changepassword admin via cloudron exec). Sign in at /admin/ and change it. With --sso,
sign in with your Cloudron account; the local admin is a break-glass account
for promoting your user.
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dsd_cloudron-2026.7.2.tar.gz.
File metadata
- Download URL: dsd_cloudron-2026.7.2.tar.gz
- Upload date:
- Size: 61.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a383e829d5ec529c73bd7d46237da3c34b8cc3e1feecb329e022d6cbee391029
|
|
| MD5 |
b8c6a6d9ca1fc0f59e87110401cf623f
|
|
| BLAKE2b-256 |
150b8436abdbfaea291c7309256ea66f2c947317a315dff73b2fd941d34a42dd
|
File details
Details for the file dsd_cloudron-2026.7.2-py3-none-any.whl.
File metadata
- Download URL: dsd_cloudron-2026.7.2-py3-none-any.whl
- Upload date:
- Size: 75.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18426f698c8481ae0c11c191d45ab1d2a36f30ca50af2dc99676eebe883ade10
|
|
| MD5 |
6df051768994949773c511741d6419d5
|
|
| BLAKE2b-256 |
320b14d8624c4182296c6e046875093e439ab24da30210941153bc9f489447e5
|