-
Notifications
You must be signed in to change notification settings - Fork 0
Django Learning
License
gsi-luis/djangolearning
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
## Django Learning
### Installation for development using Docker and Docker-compose
#### Install Docker:
1. Install dependencies
````
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
````
2. Add Docker’s GPG Key
````
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
````
3. Install the Docker Repository
````
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
````
4. Update Repositories
````
sudo apt-get update
````
5. Install Latest Version of Docker
````
sudo apt-get install docker-ce
````
#### Install Docker-compose
1. Download the Docker Compose binary
````
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
````
2. Apply executable permissions to the Compose binary
````
sudo chmod +x /usr/local/bin/docker-compose
````
#### Clone repository
````
git clone https://github.com/gsi-luis/djangolearning.git
````
#### Structure of project
````
/path/to/root/of/project
|-config (configurations files used into containers)
|-Dockerfiles (docker files and docker composes)
|-src (root of project django)
|-.env.example (env file example by keys used by environment)
|-deploy-dev (bash file commands for deployment environment develop)
|-LICENSE
|-README.md
````
#### Languages and frameworks of project
````
* Python 3.8.3
* Django 3.0.8
* Postgis 9.6+
* Nginx
Note: view requirements.txt for all dependencies used.
````
#### Set config values on .env.dev file with configurations for environment
````
cd /path/to/root/of/project
cp .env.example src/.env
nano src/.env
````
#### Generate certificates file for elastic search nodes
````
Execute commands:
1. docker exec -it django.learning.es01.dev.local.com sh
2. ./bin/elasticsearch-certutil ca --ca-dn CN=django.learning.es01.dev.local.com
3. ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 -name "CN=django.learning.es01.dev.local.com,OU=Elastic Search,DC=django.learning.es01.dev.local.com,DC=com"
````
#### Generate certificates file for connection into elastic search and kibana
````
Execute commands:
1. openssl pkcs12 -in elastic-stack-certificates. -out elastic-stack-certificates.key.pem -nocerts -nodes
2. openssl pkcs12 -in elastic-stack-certificates.p12 -out elastic-stack-certificates.key.pem -nocerts -nodes
````
#### Edit your host configuration file to add the app domains
172.60.0.2 django.learning.app.dev.local.com
172.60.0.3 django.learning.web.dev.local.com
172.70.0.3 django.learning.postgres.dev.local.com
#### Start the application
1. Move to root of project and run script to initiate application
````
cd /path/to/root/of/project
bash deploy-dev
````
2. Create admin user for default:
````
docker exec -it django.learning.app.dev.local.com sh
django-admin createsuperuser
````
3. Access to app from browser:
````
http://django.learning.web.dev.local.com/admin/
````
#### Run Unit tests
Run from project root directory inside of django.learning.app.dev.local.com container:
````
python manage.py test
````
### General ENV variables
````
DEBUG=1
SECRET_KEY='bwj+--xg41((^+rqcvi!ueabmd6bbgl_vqs@5fho05ygdj!tx='
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 172.60.0.2 django.learning.web.dev.local.com django.learning.app.dev.local.com [::1]
SQL_ENGINE=django.db.backends.postgresql
SQL_DATABASE=dev
SQL_USER=djangolearninglocal
SQL_PASSWORD=djangolearninglocal
SQL_HOST=python_learning_postgres
SQL_PORT=5432
````
About
Django Learning
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published