Central de Ajuda

Python + Django + PostgreSQL + Redis

Django é um framework web de alto nível escrito em Python que segue o padrão MVT e traz prontas as peças que toda aplicação precisa: ORM, painel de administração, autenticação, migrações e proteção contra os ataques web mais comuns.

Este Stack combina-o com PostgreSQL como banco de dados relacional e Redis como armazenamento em memória, a configuração habitual quando a aplicação precisa de cache, sessões compartilhadas ou uma fila de tarefas com Celery.

Serviços que inclui

Além da sua aplicação, o Stack levanta PostgreSQL, Redis, um nginx que recebe o tráfego na porta 80, um serviço de backups automáticos e o gerenciador de arquivos web.

Estrutura do projeto

text
.
├── app
│   ├── helloworld
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   ├── views.py
│   │   └── wsgi.py
│   ├── manage.py
│   └── requirements.txt
├── backup
│   └── backup-runner.sh
├── nginx
│   └── default.conf
├── .env.example
├── app.Dockerfile
└── compose.yaml

Início

Instale o Stack e inicie-o:

bash
docker-deploy-stack --stack python/django-postgres-redis
cd /root/stack/python/django-postgres-redis
docker compose up -d

Depois substitua a aplicação de exemplo pela sua, via Git, por SFTP ou pelo gerenciador de arquivos web, seguindo como-implantar-uma-aplicacao-em-um-stack.md. Seu código fica na pasta app/.

Cada vez que atualizar o código, aplique as alterações:

bash
docker compose up -d --build

Configuração

Os valores editáveis estão no arquivo .env do Stack:

Variable Por defecto Para qué sirve
APP_PORT 80 Porta pública do Stack.
APP_ENV development Ambiente da aplicação.
DB_NAME django Nome do banco de dados.
DB_USER django Usuário do banco de dados.
BACKUP_ENABLED 1 Backups automáticos: 1 ativados, 0 desativados.
BACKUP_INTERVAL_SECONDS 86400 A cada quantos segundos é feito um backup.
BACKUP_RETENTION_DAYS 7 Quantos dias os backups são mantidos.
POSTGRES_VERSION 16-alpine Versão da imagem correspondente.
REDIS_VERSION 7-alpine Versão da imagem correspondente.

Depois de alterar, aplique as alterações com docker compose up -d.

Comandos úteis

bash
docker compose ps          # ver os contêineres que estão em execução
docker compose logs -f     # ver os logs ao vivo
docker compose restart     # reiniciar os serviços
docker compose down        # parar e remover os contêineres
Guia g.0317 · Versão de origem 1 · pt-BR