# Instalar o Todomator com Node.js e PostgreSQL, Docker ou Docker Compose

> Inicie o Todomator à mão, com a imagem do Docker Hub ou com o Docker Compose, o que faz o primeiro arranque, a conta predefinida e como atualizar uma base de dados existente.

Framework: todomator
Product: Todomator (todomator@1.7)
Language: pt
Content-SHA256: b0028a7088b2992f044bdabb640dc366e65b1ac9b81192da5f9657ae9c27559e
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

O Todomator precisa da última versão do **Node.js** e de uma base de dados **PostgreSQL**. **Não** execute você mesmo o `database.sql`: o Todomator usa esse script internamente quando arranca sobre uma base de dados vazia.

## À mão

1. Instale o Node.js e o PostgreSQL e crie uma base de dados para o Todomator.
2. Descarregue o [código-fonte](https://github.com/totaljs/todomator).
3. Instale as dependências na raiz da aplicação:

```bash
npm install
```

4. Defina a ligação no ficheiro `config`. Lê a variável de ambiente `DATABASE` (linha `database (env) : DATABASE`) e tem uma linha `database : postgresql://total:platform@127.0.0.1:5432/todomator` como modelo. O mesmo ficheiro tem `$api : /api/` (o endereço da API) e uma linha `mail` com as definições SMTP como objeto JSON.
5. Execute-o (o script `start` é `node index.js 8000`):

```bash
node index.js
```

6. Abra `http://127.0.0.1:8000`.

## Docker Hub

```bash
docker pull totalplatform/todomator
docker run --env DATABASE='postgresql://user:pass@hostname/database' -p 8000:8000 totalplatform/todomator
```

## Docker Compose

```bash
git clone https://github.com/totaljs/todomator.git
cd todomator
docker compose up
```

## O primeiro arranque

Se a tabela `tbl_ticket` não existe no esquema `public`, o Todomator executa `database.sql` com um identificador gerado, um segredo e o hash da palavra-passe do primeiro utilizador, e depois carrega a configuração e as etiquetas. Com a variável de ambiente `DATABASE` (Docker) espera primeiro três segundos. O script cria os estados, o primeiro utilizador e a configuração. O servidor fica em pausa (`PAUSESERVER('Database')`) até a base de dados estar pronta.

## O primeiro início de sessão

O README dá a conta predefinida:

```text
login : info@totaljs.com
password : admin
```

A conta é criada com o nome John Connor e direitos de administrador (`sa`). **Mude a palavra-passe** depois de iniciar sessão e configure as [definições](/en/todomator/settings-and-database/).

## Atualizar

Para uma instalação existente, o README remete para os scripts de atualização do repositório em vez de `database.sql`: `database_1-3.sql`, `database_1-4.sql`, `database_1-5.sql`, `database_1-6.sql` e `database-20240119.sql`. Aplique os que forem mais recentes do que a sua versão; o ficheiro `version` do repositório lista o que cada versão mudou (por exemplo, a 1.7 acrescentou a autenticação de dois fatores e melhorou a pesquisa e os plugins de relatórios, marcadores e utilizadores).
