Repositório de automação para instalação e configuração completa da aplicação i-Diário utilizando Ansible.
.
├── group_vars/
│ ├── all/
│ │ └── *.yml # Variáveis globais
│ ├── development/
│ │ └── main.yml # Configuração do ambiente de development
│ ├── staging/
│ │ └── main.yml # Configuração do ambiente de staging
│ └── production/
│ └── main.yml # Configuração do ambiente de production
│
├── roles/
│ ├── common/
│ ├── postgresql/
│ ├── redis-server/
│ ├── nginx/
│ └── i-diario
│
├── inventory.ini # Inventário dos hosts
└── playbook.yml # Playbook principal- Edite o arquivo
inventory.inie adicione seus servidores. Exemplo:
[ieducar]
10.0.0.1 ansible_user=root
10.0.0.2 ansible_user=ubuntu ansible_become=true ansible_become_method=sudoPara mais opções de configuração, consulte o arquivo
inventory.ini.exampleou os arquivos emgroup_vars.
ssh-keygen -t rsa
chmod 400 ~/.ssh/id_rsa
ansible-playbook add-key.yml -i inventory.ini --key-file ~/.ssh/id_rsa --extra-vars "key=~/.ssh/id_rsa.pub"ansible-playbook playbook.yml -i inventory.ini --ask-passansible-playbook playbook.yml -i inventory.ini --key-file ~/.ssh/id_rsaansible-playbook playbook.yml -i inventory.ini --ask-passansible-playbook playbook.yml -i inventory.ini -l staging- Instalação do i-Educar com base na branch ou tag desejada
- Suporte a múltiplos ambientes (
development,staging,producao) - Instalação automática de:
- PostgreSQL otimizado para RAM disponível
- Redis
- NGINX com suporte a domínio e SSL (Let's Encrypt ou manual)
- Geração automática do
secrets.yml e database.ymlcom variáveis sensíveis - Permissões ajustadas com
ACLpara usuário e grupowww-data - Geração automática de certificados SSL com Certbot (quando habilitado)
- Cópia automática de certificados fornecidos manualmente (quando configurado)
- Geração condicional de arquivos NGINX com base nas variáveis
idiario_with_domain,idiario_use_ssleidiario_use_letsencrypt
- Ubuntu Server 20.04 com acesso via SSH
- Ansible 2.14+
- Permissões de root ou usuário
sudo
idiario_with_domain: false
idiario_with_domain: trueidiario_use_ssl: false
idiario_with_domain: trueidiario_use_ssl: trueidiario_use_letsencrypt: true- Requer que o domínio esteja apontado para o IP do servidor
idiario_with_domain: trueidiario_use_ssl: trueidiario_use_letsencrypt: false- Informar:
idiario_ssl_certificate_pathidiario_ssl_certificate_key_pathidiario_ssl_certificate_srcidiario_ssl_certificate_key_src
Este projeto segue os princípios de software livre e está sob a licença GPL v2.0.
Para mais informações sobre o i-Educar: https://ieducar.org