Skip to content

Commit d5c547c

Browse files
Add comprehensive end-user documentation for MarkAPI
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
1 parent a06f789 commit d5c547c

File tree

4 files changed

+877
-0
lines changed

4 files changed

+877
-0
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,18 @@ License: GPLv3
1212

1313
---
1414

15+
## Documentation for End Users
16+
17+
📚 **New to MarkAPI?** Check out our comprehensive user guides:
18+
19+
- **[Installation Guide](docs/user-guide/01-Installation-Guide.md)** - Step-by-step instructions to install MarkAPI
20+
- **[XML Validation Guide](docs/user-guide/02-XML-Validation-Guide.md)** - How to validate XML documents
21+
- **[User Documentation Index](docs/user-guide/README.md)** - Complete documentation overview
22+
23+
These guides are designed for non-developers and provide detailed instructions in Portuguese for installation and usage.
24+
25+
---
26+
1527
## Development Environment
1628

1729
You can use Docker directly or via `make`. To see available commands:
Lines changed: 295 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,295 @@
1+
# Guia de Instalação do MarkAPI para Usuários
2+
3+
Este guia apresenta instruções passo a passo para instalar e configurar o MarkAPI em seu servidor, destinado a usuários finais que desejam utilizar a aplicação para validar e converter documentos XML.
4+
5+
## Pré-requisitos
6+
7+
Antes de iniciar a instalação, certifique-se de que seu sistema possui:
8+
9+
1. **Docker** (versão 20.10 ou superior)
10+
2. **Docker Compose** (versão 2.0 ou superior)
11+
3. **Git** (para clonar o repositório)
12+
4. Pelo menos **4GB de RAM** disponível
13+
5. Pelo menos **10GB de espaço em disco**
14+
15+
### Instalação do Docker
16+
17+
#### Linux (Ubuntu/Debian)
18+
19+
```bash
20+
# Atualizar pacotes do sistema
21+
sudo apt-get update
22+
23+
# Instalar dependências
24+
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
25+
26+
# Adicionar chave GPG oficial do Docker
27+
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
28+
29+
# Adicionar repositório do Docker
30+
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
31+
32+
# Instalar Docker
33+
sudo apt-get update
34+
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
35+
36+
# Verificar instalação
37+
docker --version
38+
docker compose version
39+
```
40+
41+
#### Windows
42+
43+
1. Baixe o **Docker Desktop** em: https://www.docker.com/products/docker-desktop
44+
2. Execute o instalador e siga as instruções na tela
45+
3. Reinicie o computador quando solicitado
46+
4. Abra o Docker Desktop e aguarde sua inicialização
47+
48+
#### macOS
49+
50+
1. Baixe o **Docker Desktop** em: https://www.docker.com/products/docker-desktop
51+
2. Abra o arquivo `.dmg` baixado
52+
3. Arraste o ícone do Docker para a pasta Aplicativos
53+
4. Abra o Docker Desktop e aguarde sua inicialização
54+
55+
## Instalação do MarkAPI
56+
57+
### Passo 1: Clonar o Repositório
58+
59+
Abra o terminal e execute:
60+
61+
```bash
62+
# Clone o repositório do MarkAPI
63+
git clone https://github.com/scieloorg/markapi.git
64+
65+
# Entre no diretório do projeto
66+
cd markapi
67+
```
68+
69+
### Passo 2: Configurar Variáveis de Ambiente
70+
71+
O MarkAPI utiliza arquivos de configuração para definir parâmetros importantes. Para ambiente de produção:
72+
73+
```bash
74+
# Copiar arquivos de exemplo
75+
cp -r .envs/.production .envs/.production.backup
76+
```
77+
78+
**Importante:** Edite os arquivos em `.envs/.production/` para configurar:
79+
80+
1. **`.envs/.production/.django`**
81+
- `DJANGO_SECRET_KEY`: Gere uma chave secreta única (use um gerador online)
82+
- `DJANGO_ALLOWED_HOSTS`: Adicione o domínio do seu servidor (ex: `markapi.example.com`)
83+
- `DJANGO_ADMIN_URL`: Personalize a URL do painel administrativo (ex: `admin-secreto/`)
84+
85+
2. **`.envs/.production/.postgres`**
86+
- `POSTGRES_PASSWORD`: Defina uma senha forte para o banco de dados
87+
88+
### Passo 3: Criar Diretórios de Dados
89+
90+
```bash
91+
# Criar diretório para dados do PostgreSQL
92+
mkdir -p ../scms_data/markapi/data_prod
93+
mkdir -p ../scms_data/markapi/data_prod_backup
94+
95+
# Ajustar permissões
96+
chmod 700 ../scms_data/markapi/data_prod
97+
```
98+
99+
### Passo 4: Construir as Imagens Docker
100+
101+
```bash
102+
# Construir as imagens do MarkAPI
103+
docker compose -f production.yml build
104+
```
105+
106+
Este processo pode levar alguns minutos na primeira execução.
107+
108+
### Passo 5: Inicializar o Banco de Dados
109+
110+
```bash
111+
# Executar migrações do banco de dados
112+
docker compose -f production.yml run --rm django python manage.py migrate
113+
114+
# Criar superusuário (usuário administrador)
115+
docker compose -f production.yml run --rm django python manage.py createsuperuser
116+
```
117+
118+
Quando solicitado, forneça:
119+
- **Usuário**: seu nome de usuário desejado
120+
- **E-mail**: seu endereço de e-mail
121+
- **Senha**: uma senha forte (será solicitada duas vezes)
122+
123+
### Passo 6: Coletar Arquivos Estáticos
124+
125+
```bash
126+
# Coletar arquivos CSS, JavaScript e imagens
127+
docker compose -f production.yml run --rm django python manage.py collectstatic --noinput
128+
```
129+
130+
### Passo 7: Iniciar a Aplicação
131+
132+
```bash
133+
# Iniciar todos os serviços
134+
docker compose -f production.yml up -d
135+
```
136+
137+
Os seguintes serviços serão iniciados:
138+
- **Django**: Aplicação web principal
139+
- **PostgreSQL**: Banco de dados
140+
- **Redis**: Cache e fila de mensagens
141+
- **Celery Worker**: Processamento de tarefas em segundo plano
142+
- **Celery Beat**: Agendador de tarefas
143+
- **Traefik**: Proxy reverso (se configurado)
144+
145+
### Passo 8: Verificar o Status
146+
147+
```bash
148+
# Verificar se os containers estão rodando
149+
docker compose -f production.yml ps
150+
151+
# Verificar logs em caso de problemas
152+
docker compose -f production.yml logs django
153+
```
154+
155+
## Acessar a Aplicação
156+
157+
Após a instalação bem-sucedida:
158+
159+
1. **Interface Web**: Acesse `http://seu-servidor:8000` (ou o domínio configurado)
160+
2. **Painel Administrativo**: Acesse `http://seu-servidor:8000/django-admin/` (ou a URL personalizada)
161+
162+
Faça login com as credenciais do superusuário criadas no Passo 5.
163+
164+
## Configuração Opcional: Proxy Reverso (Nginx/Traefik)
165+
166+
Para ambiente de produção, é recomendado configurar um proxy reverso com HTTPS.
167+
168+
### Usando Traefik (incluído)
169+
170+
O MarkAPI já vem configurado com Traefik. Edite o arquivo `.envs/.production/.django` e configure:
171+
172+
```
173+
DJANGO_ALLOWED_HOSTS=seu-dominio.com
174+
```
175+
176+
Certifique-se de que as portas 80 e 443 estão acessíveis.
177+
178+
## Comandos Úteis
179+
180+
### Parar a Aplicação
181+
182+
```bash
183+
docker compose -f production.yml stop
184+
```
185+
186+
### Reiniciar a Aplicação
187+
188+
```bash
189+
docker compose -f production.yml restart
190+
```
191+
192+
### Ver Logs
193+
194+
```bash
195+
# Logs de todos os serviços
196+
docker compose -f production.yml logs -f
197+
198+
# Logs de um serviço específico
199+
docker compose -f production.yml logs -f django
200+
docker compose -f production.yml logs -f celeryworker
201+
```
202+
203+
### Executar Comandos Django
204+
205+
```bash
206+
# Template geral
207+
docker compose -f production.yml run --rm django python manage.py <comando>
208+
209+
# Exemplos
210+
docker compose -f production.yml run --rm django python manage.py shell
211+
docker compose -f production.yml run --rm django python manage.py createsuperuser
212+
```
213+
214+
### Backup do Banco de Dados
215+
216+
```bash
217+
# Fazer backup
218+
docker compose -f production.yml exec postgres backup
219+
220+
# Listar backups
221+
docker compose -f production.yml exec postgres list-backups
222+
223+
# Restaurar backup
224+
docker compose -f production.yml exec postgres restore <nome-do-backup>
225+
```
226+
227+
### Atualizar a Aplicação
228+
229+
```bash
230+
# Parar a aplicação
231+
docker compose -f production.yml down
232+
233+
# Atualizar código
234+
git pull origin main
235+
236+
# Reconstruir imagens
237+
docker compose -f production.yml build
238+
239+
# Executar migrações
240+
docker compose -f production.yml run --rm django python manage.py migrate
241+
242+
# Coletar arquivos estáticos
243+
docker compose -f production.yml run --rm django python manage.py collectstatic --noinput
244+
245+
# Reiniciar aplicação
246+
docker compose -f production.yml up -d
247+
```
248+
249+
## Solução de Problemas
250+
251+
### Containers não iniciam
252+
253+
Verifique os logs:
254+
```bash
255+
docker compose -f production.yml logs
256+
```
257+
258+
### Erro de permissão no banco de dados
259+
260+
Ajuste permissões do diretório de dados:
261+
```bash
262+
sudo chown -R 999:999 ../scms_data/markapi/data_prod
263+
```
264+
265+
### Porta já em uso
266+
267+
Edite o arquivo `production.yml` e altere as portas mapeadas.
268+
269+
### Erro de memória
270+
271+
Aumente a memória disponível para o Docker:
272+
- **Linux**: Aumente a swap do sistema
273+
- **Windows/macOS**: Ajuste nas configurações do Docker Desktop (Resources > Advanced)
274+
275+
## Próximos Passos
276+
277+
Após a instalação, consulte os seguintes guias:
278+
279+
1. **[Guia de Validação de XML](./02-XML-Validation-Guide.md)** - Como validar documentos XML
280+
2. **[Guia de Conversão para PDF](./03-XML-to-PDF-Conversion-Guide.md)** - Como converter XML para PDF
281+
3. **[Configuração de Modelos DOCX](./04-DOCX-Layout-Configuration.md)** - Como personalizar layouts de PDF
282+
283+
## Suporte
284+
285+
Para questões ou problemas:
286+
287+
- **Issues**: https://github.com/scieloorg/markapi/issues
288+
- **Wiki**: https://github.com/scieloorg/markapi/wiki
289+
- **Documentação Técnica**: Consulte o arquivo `README.md` no repositório
290+
291+
## Referências
292+
293+
- [Documentação do Docker](https://docs.docker.com/)
294+
- [Docker Compose](https://docs.docker.com/compose/)
295+
- [Django Deployment](https://docs.djangoproject.com/en/stable/howto/deployment/)

0 commit comments

Comments
 (0)