
Security News
NVD Quietly Sweeps 100K+ CVEs Into a “Deferred” Black Hole
NVD now marks all pre-2018 CVEs as "Deferred," signaling it will no longer enrich older vulnerabilities, further eroding trust in its data.
This Django extension allows you deploy web apps anywhere from bare metal to cloud VMs, with zero downtime using Kamal from within your Django project.
Install djamal using pip:
pip install djamal
Add 'djamal' to your Django project's INSTALLED_APPS in your project's settings.py
file:
INSTALLED_APPS = [
# ...
'djamal',
# ...
]
Now run the command below to setup your project:
python manage.py djamal setup_djamal
Start your local server and visit the link below to access the Djamal admin dashboard:
http://localhost:8000/djamal
In the admin dashboard click these buttons in this order:
Edit Deployment File: Here you will enter settings like the IP addresses of your server, etc:
service: webservice
image: django-image
servers:
- 192.168.0.1
- 192.168.0.2
registry:
username: registry-user-name
password:
- DJAMAL_REGISTRY_PASSWORD
env:
secret:
- DJANGO_MASTER_KEY
Then edit your .env file to add your registry password as DJAMAL_REGISTRY_PASSWORD (and your DJANGO_MASTER_KEY for production with a Django app).
Deploy to Server
Thats all. Your project will now be live at the IP address defined in step (1).
This is for advanced users who would not mind running Djamal from the commandline.
To view the list of djamal commands and options, run the following Django management command:
python manage.py djamal help
Commands:
djamal accessory # Manage accessories (db/redis/search)
djamal app # Manage application
djamal audit # Show audit log from servers
djamal build # Build application image
djamal config # Show combined config (including secrets!)
djamal deploy # Deploy app to servers
djamal details # Show details about all containers
djamal env # Manage environment files
djamal envify # Create .env by evaluating .env.erb (or .env.staging.erb -> .env.staging when using -d staging)
djamal healthcheck # Healthcheck application
djamal help [COMMAND] # Describe available commands or one specific command
djamal init # Create config stub in config/deploy.yml and env stub in .env
djamal lock # Manage the deploy lock
djamal prune # Prune old application images and containers
djamal redeploy # Deploy app to servers without bootstrapping servers, starting Traefik, pruning, and registry login
djamal registry # Login and -out of the image registry
djamal remove # Remove Traefik, app, accessories, and registry session from servers
djamal rollback [VERSION] # Rollback app to VERSION
djamal server # Bootstrap servers with curl and Docker
djamal setup # Setup all accessories, push the env, and deploy app to servers
djamal traefik # Manage Traefik load balancer
djamal version # Show Djamal version
Options:
-v, [--verbose], [--no-verbose] # Detailed logging
-q, [--quiet], [--no-quiet] # Minimal logging
[--version=VERSION] # Run commands against a specific app version
-p, [--primary], [--no-primary] # Run commands only on primary host instead of all
-h, [--hosts=HOSTS] # Run commands on these hosts instead of all (separate by comma)
-r, [--roles=ROLES] # Run commands on these roles instead of all (separate by comma)
-c, [--config-file=CONFIG_FILE] # Path to config file
# Default: config/deploy.yml
-d, [--destination=DESTINATION] # Specify destination to be used for config file (staging -> deploy.staging.yml)
-H, [--skip-hooks], [--no-skip-hooks] # Don't run hooks
Change into your Django app directory, and run the command
djamal init
Now edit the new file config/deploy.yml. It could look as simple as this:
service: webservice
image: django-image
servers:
- 192.168.0.1
- 192.168.0.2
registry:
username: registry-user-name
password:
- DJAMAL_REGISTRY_PASSWORD
env:
secret:
- DJANGO_MASTER_KEY
Then edit your .env file to add your registry password as DJAMAL_REGISTRY_PASSWORD (and your DJANGO_MASTER_KEY for production with a Django app).
Now you’re ready to deploy to the servers by running this command:
djamal setup
This command will:
This project is licensed under the MIT License - see the LICENSE file for details.
FAQs
A Django extension to deploy web apps anywhere, from bare metal to cloud VMs.
We found that djamal demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
NVD now marks all pre-2018 CVEs as "Deferred," signaling it will no longer enrich older vulnerabilities, further eroding trust in its data.
Research
Security News
Lazarus-linked threat actors expand their npm malware campaign with new RAT loaders, hex obfuscation, and over 5,600 downloads across 11 packages.
Security News
Safari 18.4 adds support for Iterator Helpers and two other TC39 JavaScript features, bringing full cross-browser coverage to key parts of the ECMAScript spec.