You are frustrated with Django Deployment…

You don’t know PostgreSQL, nginx, Gunicorn, supervisor, DNS…


You don’t know where to get hosting, or which OS and version to use. You don’t know the OS and its command line, users, groups, permissions, and more.

But there are plenty of guides. So you choose one and you read it.

It only tells you what to type in line by line, without really explaining the concepts. If one thing doesn’t go 100% as it is supposed to go, you are immediately up shit creek without a paddle.

Enter my book:

Deploying Django on a single Debian or Ubuntu server




No voodoo debugging

You won’t get endless options; you’ll get best practices and focused explanations. You will be understanding what’s going on. You won’t be afraid to touch your servers lest they break.


Step by step

Ever got overwhelmed by trying to learn GNU/Linux, users, permissions, nginx, Gunicorn, supervisor, PostgreSQL, all at the same time, because a tutorial said so? Learn everything step by step, until you get everything right.


Batteries included

Do the tutorials tell you how to backup? Or is your customers’ data waiting for a disaster? Learn to choose your storage and create no-nonsense recovery plans.


A whole new world

Deployment is system administration. It’s not just another library or technique; it’s a whole new world. Learn it properly, focusing on what you need as a Django developer.


Users and directories

Does /home/joe/mydjangoproject seem a little dirty for deployment? Organize your deployment in a well-thought directory scheme that will teach you Debian/Ubuntu at the same time.


Gunicorn and systemd

Understand why you need a WSGI server and the latest and best way of starting it.



Learn the pros and cons of using a local mail server for your Django project to send email notifications.



Confused about template0, template1, sudo -u postgres psql whatever? Get a grip while setting up your Django deployment.

I am clueless about Linux. Will I be able to read the book?

Yes! But it’s a good idea to first get the email course, which teaches you some basics.

What does the book contain?

Briefly, it tells you how to setup your DNS, takes you through setting up appropriate users and permissions and installing Django in appropriate directories, setting up nginx or Apache, serve your static and media files, running your Django app with Gunicorn, setup email, logging and caching, setup PostgreSQL, and backup and recover the system.

For more information, take a look at the table of contents.

I can already deploy Django. Is the book going to be useful to me?

If you are experienced enough, I don’t recommend it. While it is going to be useful, the question isn’t if it’s going to be useful, but whether it’s going to be more useful than spending your money and time elsewhere. There are probably more useful books for you.

Here is a test you can make: Take the email course, and look at this drawing from the chapter on static files and at the table of contents. That should tell you whether the book’s useful for you.

A case for which it could be useful is if you train new people. In the past I have spent lots and lots of time explaining this stuff to juniors. I wish I had this book back then to give them.

I want to deploy Django on Heroku or AWS. Is the book going to be useful to me?

If you don’t know much about deploying Django, then yes. Deploying on Heroku isn’t that much different from deploying on a single server. You need to understand the basics first before doing something more advanced. Many people follow some tutorials and helpers on Heroku and are able to do their job. However, if you don’t understand what’s going on behind the scenes, you will be helpless when something breaks.

Can I deploy on Windows?

You can, but I don’t treat that in the book.

It’s easier to learn GNU/Linux and deploy on GNU/Linux than it is to deploy on Windows, even if you know Windows already. In order to read the book, you don’t need to know any Linux beyond what is contained in the email course.

Does the book explain Celery, SSL, zero-downtime upgrades, deploying without root access, and automation?


I included the absolutely essential in this first version. Additional information to be included in future versions depends on what readers will ask for. (Future versions will be made available free of charge to people who have already bought the book.)

“You’ve done a really great job; I have learnt quite a lot from just going through one chapter.”
Aisha Bello , winner of the 2016 Malcolm Tredinnick Memorial Prize

“Antonis, your book is really awesome. Thank you so much. It has almost everything!”
Chris Pantazis ,

Email course

Introduction to Linux servers
plus the book chapter on the DNS


Full book

Full book
in PDF and EPUB


Get it now

100% Satisfaction Guarantee

You are intrigued but not certain this book will be useful to you? Ask for a refund within 60 days of purchase. I will refund the amount without asking questions (but if you can give me a quick explanation of what’s wrong I will appreciate it).

Please ask me for the refund, at; don’t ask any intermediary such as Gumroad, PayPal, or your bank. Blog | About