Tety Assistente¶
Documentation¶
The full documentation is at http://tety-assistente.readthedocs.io/en/latest/.
Live demo @ http://tety.104.236.104.21.xip.io
Quickstart¶
- Clone o repositório.
- Crie um virutalenv com o Python 3.5
- Ative o Virtualenv.
- Instale as dependencias.
- Configure a instancia com o .env
- Migre seus modelos para o Banco de Dados
- Roda o collectstatic para configurar arquivos staticos
- Execute os testes.
Digite no terminal:
git clone https://github.com/tyagow/django-base.git Nome-Do-Projeto
cd Nome-Do-Projeto
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp contrib/env-sample .env
python manage.py collectstatic
python manage.py migrate
python manage.py test
python manage.py runserver
Como fazer o Deploy?¶
- Install Digital Ocean Dokku image
- Send your ssh-key to dokku
- Connect via ssh to your server
- Create app in dokku
- Install postgres plugin in dokku
- Create database for your app in dokku
- Link database and app in dokku
- Set DEBUG in dokku
- Generate new SECRET_KEY
- Set SECRET_KEY in dokku
- Set ALLOWED_HOSTS in dokku
- Set Global Domain dor dokku
- Push your code to dokku
- Run the migrations
- Collect static data with DEBUG=False
Digite no terminal
(local) cat ~/.ssh/id_rsa.pub | ssh root@<your.ip.address> "sudo sshcommand acl-add dokku [description]"
(local) ssh root@<your.ip.address>
(server) dokku apps:create <app-name>
(server) sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git
(server) dokku postgres:create <database-name>
(server) dokku postgres:link <databse-name> <app-name>
(local) git remote add dokku dokku@dokku.me:<app-name>
(local) ssh dokku@<your.ip.address> config:set <app-name> DEBUG=False
(local) python contrib/secret_gen.py
(local) ssh dokku@<your.ip.address> config:set <app-name> SECRET_KEY='<new-generated-key>'
(local) ssh dokku@<your.ip.address> config:set <app-name> ALLOWED_HOSTS=<app-name>.<your.ip.address>.xip.io
(local) ssh dokku@<your.ip.address> config:set <app-name> AWS_STORAGE_BUCKET_NAME=XXXXXXXXXXX AWS_ACCESS_KEY_ID=XXXXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXX
(local) ssh dokku@<your.ip.address> domains:add-global <your.ip.address>.xip.io
(local) ssh dokku@<your.ip.address> domains:enable <app-name>
(local) git push dokku master
(local) ssh dokku@<your.ip.address> run <app-name> python manage.py migrate
(local) DEBUG=False python manage.py collectstatic
NOTES
- Depois do primeiro deploy feito basta um comando para o deploy:
git push dokku master
- Não esquecer de migrar/atualizar o banco de dados sempre que alterar um modelo:
ssh dokku@<your.ip.address> run <app-name> python manage.py migrate
Dokku * Change PORT ` (não recomendado, se configurar na porta 80 só poderei ter 1 serviço (app) ) ” you can only bind a single service to port 80 if you do not use a vhost but i highly suggest using a vhost for your server so then you get urls like app.vhost.com ” @ savant`
` dokku config:set APP DOKKU_NGINX_PORT=80 DOKKU_PROXY_PORT_MAP=http:80:5000 `
- Configurar um vhost
dokku domains:add-global domain_here
- Re-enable vhosts for your app
( http://dokku.viewdocs.io/dokku/configuration/domains/ ) dokku domains:enable APP
Configurar AmazonS3
Features¶
- Django 1.10.5
- Bootstrap 4 alpha 6
- JQuery 3.1.1
- Python Decouple
- DJ Static (serving static files locally)
- Dj Database URL
- Django test without migrations
- Django Crispy Forms
- Django bootstrap3
- Social User Login App* (facebook e twitter)
- Django Extensions
- Dokku pre configured
- Multi languange i18n
- Coverage
Need additional configuration
Translation¶
Running Tests¶
Does the code actually work?
source .venv/bin/activate
(myenv) $ python manage.py test
Social Auth¶