Skip to main content

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. healthCheckPath must 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 on CLOUDRON_APP_ORIGIN so it is inert during local development. Drop a /app/data/custom_settings.py on the server for ad-hoc overrides; it runs only when owned by root (create it via cloudron exec as root:cloudron mode 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.

Metadata

Release files for dsd-cloudron 2026.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dsd-cloudron 2026.7.2
File Size Uploaded
dsd_cloudron-2026.7.2.tar.gz 61.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dsd-cloudron 2026.7.2
File Interpreter ABI Platform
dsd_cloudron-2026.7.2-py3-none-any.whl Python 3 none any Details

Total release size: 137.0 kB

Release files / dsd_cloudron-2026.7.2.tar.gz

Download URL dsd_cloudron-2026.7.2.tar.gz
Size 61.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a383e829d5ec529c73bd7d46237da3c34b8cc3e1feecb329e022d6cbee391029
BLAKE2b-256 checksum
How to use checksums
150b8436abdbfaea291c7309256ea66f2c947317a315dff73b2fd941d34a42dd
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / dsd_cloudron-2026.7.2-py3-none-any.whl

Download URL dsd_cloudron-2026.7.2-py3-none-any.whl
Size 75.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
18426f698c8481ae0c11c191d45ab1d2a36f30ca50af2dc99676eebe883ade10
BLAKE2b-256 checksum
How to use checksums
320b14d8624c4182296c6e046875093e439ab24da30210941153bc9f489447e5
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

2026.7.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page