bash console in the browser for django devops
bash console in the browser for django devops!
Service needs to be running on https
to securely POST commands to the server.
Did a quick update on the code; need to pull the code and restart the server, and waiting for server admin to do that? Django-Console is for you!
Step 1
pip install django-console
Step 2
include django-console into INSTALLED_APPS settings.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django-console'
)
Step 3
include two more variables to settings.py
Even without these settings, it will work.
allows requests from all ips, and works even when not in https (NOT GOOD).
SECURE_CONSOLE = True # False to allow http
CONSOLE_WHITELIST = [
"127.0.0.1"
] # List of IPs to be allowed - NB: All allowed by default
Step 4
run
python manage.py collectstatic
Done!
in your browser, goto http://127.0.0.1:8000/admin/console/ to access the web console.
NB: make sure you got superuser privileges.
To run sudo tasks, you can use
echo mypassword | sudo -S command
Example commands
$ echo pa$$w0rD | sudo -S service nginx restart
$ git pull origin master
$ ls -al
all the django superusers can access this portal, so make sure only the right guys have got access before deploying django-console to live.
long running tasks and interactive commands won't probably work.
BSD License - checkout LICENSE file for the complete license document