Docker Services¶
Serviços externos gerenciados via Docker.
Visão Geral¶
O projeto usa três serviços principais:
| Serviço | Imagem | Porta |
|---|---|---|
| PostgreSQL | postgres:16-alpine | 5432 |
| Redis | redis:7-alpine | 6379 |
| TypeSense | typesense/typesense:27.1 | 8108 |
Docker Compose¶
# docker-compose.yml
version: '3.8'
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: hymnplat
POSTGRES_USER: hymnplat
POSTGRES_PASSWORD: hymnplat
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U hymnplat"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
typesense:
image: typesense/typesense:27.1
ports:
- "8108:8108"
environment:
TYPESENSE_API_KEY: xyz
TYPESENSE_DATA_DIR: /data
volumes:
- typesense_data:/data
volumes:
postgres_data:
redis_data:
typesense_data:
Comandos¶
Iniciar Todos¶
Parar Todos¶
Ver Logs¶
Reiniciar Serviço¶
Limpar Dados¶
PostgreSQL¶
Conexão¶
# Via psql
docker-compose exec postgres psql -U hymnplat
# Via Django
poetry run python manage.py dbshell
Backup¶
Restore¶
Redis¶
Conexão¶
Comandos Úteis¶
TypeSense¶
Health Check¶
Ver Collections¶
Ver Estatísticas¶
Troubleshooting¶
Container não inicia¶
Porta já em uso¶
# Encontrar processo
lsof -i :5432
# Matar processo
kill -9 <PID>
# Ou mude a porta no docker-compose.yml
ports:
- "5433:5432"
Dados persistentes¶
Os dados são persistidos em Docker volumes: