Instalação e execução
Com Docker (ou Podman)
make run # sobe em http://127.0.0.1:8000
make status # confere se está rodando
make logs # acompanha os logs
make down # desliga (data/ e saida/ são mantidos)
make restart # desliga e sobe de novo
make rebuild # reconstrói a imagem sem cache
Atenção:
restarterebuildrecriam o container. Se um envio de e-mail está em andamento, ele é interrompido. Espere terminar antes.
data/ (modelos, fontes, backups, lixeira) e saida/ (PDFs e envios.log) são volumes:
nada se perde ao recriar o container. A porta é publicada só em 127.0.0.1.
O botão "Abrir pasta" não funciona dentro do container; use a pasta saida/ do projeto.
Sem Docker (Python >= 3.10)
python -m venv .venv && source .venv/bin/activate
pip install .
pyticipantes # abre http://127.0.0.1:8000
Opções: pyticipantes --host 0.0.0.0 --porta 9000. Também funciona python -m pyticipantes.
Variáveis de ambiente
| Variável | Padrão | Efeito |
|---|---|---|
PYTICIPANTES_PORTA |
8000 |
Porta |
PYTICIPANTES_HOST |
127.0.0.1 |
Interface de escuta (no Docker: 0.0.0.0) |
PYTICIPANTES_BIND |
127.0.0.1 |
Interface publicada no host pelo compose |
PYTICIPANTES_USUARIO / PYTICIPANTES_SENHA |
vazio | Liga HTTP Basic |
PYTICIPANTES_DATA |
./data |
Modelos, fontes, backups e lixeira |
PYTICIPANTES_SAIDA |
./saida |
PDFs, manifesto e envios.log |
Para expor o app fora do seu computador, leia Self-host.
Onde estão seus dados
data/modelos/<id>/modelo.json layout, fundo e planilha de cada certificado
data/backups/<id>/ últimas 30 versões do layout
data/lixeira/ certificados excluídos (recuperáveis)
saida/<id>/*.pdf PDFs gerados
saida/<id>/envios.log histórico permanente dos envios de e-mail
Nunca apague data/. Faça cópia do layout em "Salvar layout em arquivo" (passo 2).
Desenvolvimento
make install # pip install -e . --group dev --group docs (requer pip >= 25.1)
make test
make lint
make docs-serve