Hosting Django on Google App Engine with djangae for FREE

  • Posted on: 29 May 2017
  • By: oon
Django Free Hosting on Google App Engine

note: this post based on my experience hosting Django on Google App Engine. FREE on this article means I didn't have any billing every month, it's only personal site with not-too-much load or traffic. BUT, I set this with "activated billing setting" on my Google Cloud account, still have no time to try without activate billing.

This article written in Bahasa Indonesia.

Banyak orang menulis di artikel atau diskusi tentang free hosting (hosting gratis) untuk Django, tapi sangat sedikit yang bisa ditemui membahas bahwa hal tersebut bisa dilakukan di Google App Engine.

Sampai saat artikel ini dibuat, Google App Engine Standard environment (dimana kita bisa hosting secara free) hanya mendukung python versi 2, python versi 3 bisa digunakan di Google App Engine Flexible environment.

Seluruh proses instalasi dilakukan dalam virtual environment bernama sb, semua yang tertulis (sb) artinya berada dalam virtual environment:

# virtualenv sb
# cd sb
# source bin/activate
(sb)# 
...
(sb)# deactivate
#

Kemudian install Django (dalam artikel ini digunakan versi 1.11) dan djangae (dalam artikel ini menggunakan versi 0.9.9).

(sb)# pip freeze
(sb)# pip install Django
(sb)# pip install djangae
(sb)# pip freeze

Buat Django project (dan django apps yang dibutuhkan):

(sb)# django-admin startproject sbproject

Lakukan konfigurasi instalasi djangae mengikuti [1].

(tbd)

Buat file konfigurasi app.yaml untuk App Engine

runtime: python27
api_version: 1
threadsafe: true
service: default

handlers:

- url: /_ah/(mapreduce|queue|warmup).*
  script: relif.wsgi.application
  login: admin
  secure: always

- url: /_ah/internalupload.*
  script: relif.wsgi.application
  secure: always

- url: /static
  static_dir: static
  secure: always

# Set Django admin to be login:admin as well as Django's is_staff restriction
- url: /admin.*
  script: sbproject.wsgi.application
  secure: always
  login: admin

- url: /.*
  script: sbproject.wsgi.application
  secure: always

libraries:
- name: ssl
  version: "latest"

skip_files:
    - manage.py
    - README.md
    - install_deps
    - requirements.txt
    - sitepackages/dev*
    - \.storage.*
    - \.git
    - (.*)\.pyc

Upload files ke App Engine menggunakan aplikasi gcloud dari [2].

# /home/oon/google-cloud-sdk/bin/gcloud app deploy --project proj-test-only --verbosity=info app.yaml

[1]https://djangae.readthedocs.io/en/latest/installation/
[2]https://cloud.google.com/sdk/gcloud/

 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.