Repositório do CulturAZ
- compose - arquivos de configuração e preparação dos ambientes de desenvolvimento e produção, utilizados pelo docker-compose
- common - arquivos comuns dos ambientes de desenvolvimento e produção
- local - arquivos exclusivamente para o ambiente de desenvolvimento
- production - arquivos exclusivamente para o ambiente de produção
- dev-scripts - scripts auxiliares para o desenvolvimento
- start-dev.sh - script que inicializa o ambiente de desenvolvimento
- bash.sh - entra no container da aplicação
- shell.sh - entra no shell do mapas culturais
- psql.sh - entra no banco de dados da aplicação
- docker-compose.local.yml - arquivo de definição do docker-compose utilizado pelos scripts acima
- plugins - pasta com os plugins desenvolvidos exclusivamente para o projeto
- SamplePlugin - esqueleto de plugin para demostração e para servir de base para o desenvolvimento de outros plugins
- themes - pasta com os temas desenvolvidos exclusivaente para o projeto
- SampleTheme - esqueleto de tema filho de Subsite para demostração e para servir de base para o desenvolvimento de outros temas
Para subir o ambiente de desenvolvimento basta entrar na pasta dev-scripts
e rodar o script start-dev.sh
.
meu-mapas/dev-scripts/$ sudo ./start-dev.sh
acesse no seu navegador http://localhost/
Este ambiente roda com o built-in web server do PHP, o que possibilita que seja utilizado o PsySH, um console interativo para debug e desenvolvimento.
no lugar desejado, adicione a linha eval(\psy\sh());
e você obterá um console. Ctrl + D
para continuar a execução do código.
Para parar o ambiente de desenvolvimento usar as teclas Ctrl + C
- start.sh - inicializa o ambiente de produção utilizando o docker-compose.prod.yml, que garantirá que o serviço se mantenha em pé enquanto não for deliberadamente desligado utilizando o script
stop.sh
; - stop.sh - desliga o embiente de produção;
- restart.sh - reinicia o ambiente de produção. É o mesmo que utilizar o os comandos
stop.sh
estart.sh
. É bom observar que o cache da aplicação será apagado; - renew-letsencrypt-certficate.sh - reinicia o container certbot, forçando a tentativa de renovação do certificado;
- clear-cache.sh - reinicia o container redis, apagando todo o cache da aplicação;
- update.sh - atualiza o ambiente fazendo build da nova imagem docker. Ver a seção Atualizando o Mapas Culturais
- logs.sh - exibe o output do docker-compose;
- bash.sh - entra no console bash do container da aplicação (mapasculturais);
- psql.sh - entra no console do PostgreSQL (psql);
- dump.sh - faz um dump do banco de dados; asdasd
Para atualizar a Versão do Mapas Culturais dentro da mesma minor version, por exemplo atualizar da versão v5.1.26
para a versão v5.1.27
, basta executar o script update.sh
.
Para atualizar de uma minor para outra minor, por exemplo da versão v5.1
para versão v5.2
, é preciso editar os arquivos abaixo, trocando a referência à versão atual para a nova versão:
compose/production/Dockerfile
- na primeira linha do arquivo, onde estáFROM mapasculturais/mapasculturais:v5.1
trocar porFROM mapasculturais/mapasculturais:v5.2
compose/local/Dockerfile
- na primeira linha do arquivo, onde estáFROM mapasculturais/mapasculturais:v5.1-cli
trocar porFROM mapasculturais/mapasculturais:v5.2-cli
update.sh
- onde estádocker pull mapasculturais/mapasculturais:v5.1
trocar pordocker pull mapasculturais/mapasculturais:v5.2
.
Após a edição dos aquivos, deve-se commitar as modificações, dar push no repositório e executar o script update.sh
no servidor.
Todos os arquivos que precisam ser backupeados estão na pasta docker-data
, a forma mais fácil é fazer backup da pasta inteira, porém dentro desta pasta estão os arquivos do banco de dados e neste caso é preferivel fazer o backup do arquivo .sql gerado pelo script dump.sh
. Assim sendo, o recomeda-se fazer pelo menos diariamente um backup incremental (pode ser com rsync para outro servidor) das pastas assets
, certbot
, private-files
, public-files
e saas-files
, além de um dump do banco de dados.
Os certificados do Let's Encrypt têm validade de três meses e por esta razão precisam ser renovados periodicamente. Para renovar o certificado basta executar o script renew-letsencrypt-certficate.sh
. Uma boa ideia é configurar um cron que execute este script periodicamente.