Digital Ocean Django Deployment

Educational Technology and ICT

Created with Sketch.

Digital Ocean Django Deployment

DigitalOcean, Inc. is an American cloud infrastructure provider headquartered in New York City with data centers worldwide. DigitalOcean provides developers cloud services that help to deploy and scale applications that run simultaneously on multiple computers

create an account in digital ocean and login

put credit card details-it will not charge you for free trial

create droplet
5$ per month
leave everything the way they are
click on create

you will get an email for your root user password

copy the password

go to your terminal and do the following

past the password you copied

change the password at the command prompt

that is the new user password

check the article digitalocean django ubuntu postgres tutorial
follow the articles instructions

on the article click on the initial setup guide link to learn how to create
a user with sudo priviledges

adduser austine
put a paswword
leave others as default
choose yes
to create the user

add user priviledges

usermod -aG sudo austine

close the second article and get back to the former one

Install the Packages from the Ubuntu Repositories for python 3

sudo apt-get update
sudo apt-get install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx

Create the PostgreSQL Database and User

sudo -u postgres psql

CREATE DATABASE onlineschool;
CREATE USER onlineschooluser WITH PASSWORD 'password123';
ALTER ROLE onlineschooluser SET client_encoding TO 'utf8';
ALTER ROLE onlineschooluser SET default_transaction_isolation TO 'read committed';
ALTER ROLE onlineschooluser SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE onlineschool TO onlineschooluser;

Create a Python Virtual Environment for your Project
sudo -H pip3 install virtualenv

switch user to the new user

su austine

mkdir ~/onlineschool
ls /
ls /home/
ls /home/austine/
cd ~/onlineschool/

virtualenv onlineschoolenv

source onlineschoolenv/bin/activate

pip install django gunicorn psycopg2-binary

fetch your git project from git 
open a new terminal
git remote -v

you will see the address
copy it

git init
git remote add origin https://github.com/austainodedon/tclassifiedDjango.git
git pull origin master

pip install -r requirements.txt

push and pull as you make changes


ALLOWED_HOSTS = ['', 'tclassified.herokuapp.com', '']

replace the sql database with postgres

    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'onlineschooluser',
        'USER': 'onlineschool',
        'PASSWORD': 'password123',
        'HOST': 'localhost',
        'PORT': '',

do the static roots

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

in your digital ocean command interface run migrations

python manage.py makemigrations
python manage.py migrate

python manage.py createsuperuser

python manage.py collectstatic

sudo ufw allow 8000

python manage.py runserver

Leave a Reply

Your email address will not be published. Required fields are marked *

Open chat