Um passo a passo de 7 etapas que leva você de uma máquina Linux nova com Docker a uma instância do SealRoute totalmente ativada. Cada etapa tem o comando ou a captura de tela exatos de que você precisa.
docker --version
docker compose version
docker-compose.yml padrão vem com um proxy reverso Caddy que cuida do HTTPS automaticamente quando você define HOST=seu.dominio.Crie um diretório de trabalho e obtenha o arquivo compose de produção do repositório. Ele já conecta o SealRoute, o Postgres e o Caddy.
mkdir sealroute && cd sealroute
curl -L https://raw.githubusercontent.com/sealroute/sealroute/main/docker-compose.yml -o docker-compose.yml
curl -L https://raw.githubusercontent.com/sealroute/sealroute/main/deploy.sh -o deploy.sh
chmod +x deploy.sh
Se preferir clonar todo o pacote de implantação: git clone https://github.com/sealroute/sealroute.git && cd sealroute. De qualquer forma, as próximas etapas são as mesmas.
O SealRoute lê sua configuração a partir de variáveis de ambiente. Crie um arquivo .env ao lado do seu arquivo compose. O mínimo de que você precisa:
# Where the app is reachable from a browser. Use https://your.domain in
# production or http://localhost:3000 for a local trial.
APP_URL=https://your.domain
HOST=your.domain
# Generate with `openssl rand -hex 64` and keep it secret.
SECRET_KEY_BASE=replace-me-with-a-long-random-string
# --- Aplindo licensing ------------------------------------------------------
APLINDO_LICENSE_API_URL=https://license.aplindo.com
APLINDO_LICENSE_PRODUCT_SLUG=SealRoute
APLINDO_LICENSE_DEFAULT_AMOUNT_IDR=5000000.00
APLINDO_LICENSE_HEARTBEAT_SECONDS=3600
Um exemplo mais completo com opções adicionais está em .env.example.
Suba o SealRoute, o Postgres e o proxy reverso em segundo plano:
docker compose up -d
Acompanhe os logs de inicialização até ver o Puma escutando em tcp://0.0.0.0:3000:
docker compose logs -f app
A primeira inicialização também executa as migrações do banco de dados. Em um host de 2 GB, isso normalmente é concluído em menos de um minuto.
Abra o app no seu navegador. Como ainda não há usuários, o SealRoute o redireciona para a página /setup. É aqui que você cria a primeira conta de administrador e os metadados da sua conta.
Preencha:
APP_URL no seu .env. Usada para gerar links de assinatura nos e-mails.
Clique em Enviar. O SealRoute cria a conta, faz seu login e o redireciona para a página /license.
Uma instância auto-hospedada do SealRoute precisa de uma licença ativa para desbloquear as telas após o login. A página /license tem dois cartões: Comprar licença no topo e Ativar licença abaixo.
No cartão Comprar licença, defina o número de assentos de que você precisa. O preço unitário vem da sua configuração APLINDO_LICENSE_DEFAULT_AMOUNT_IDR (atualmente IDR 1.499.000 por assento), e o total é recalculado automaticamente conforme você altera o número de assentos.
Clique em Comprar licença. O SealRoute abre um modal com o iframe de checkout da Aplindo. Conclua o pagamento ali. Assim que a transação for bem-sucedida, a Aplindo envia a chave de licença por e-mail para o endereço que você informou, e a mesma chave também é exibida na página de sucesso do checkout.
Copie a chave de licença da página de sucesso ou do seu e-mail e cole-a no cartão Ativar licença em /license:
Clique em Ativar. O SealRoute chama o servidor de licenças da Aplindo, vincula a chave a esta máquina e recarrega. Você verá o cartão Licença atual no topo com status active, o slug do produto, o ID da licença, o ID da máquina, a data de expiração e o carimbo de data/hora do último heartbeat.
O SealRoute agenda uma tarefa de heartbeat que verifica novamente a licença com a Aplindo a cada APLINDO_LICENSE_HEARTBEAT_SECONDS segundos (padrão: a cada hora). Se a licença for revogada ou expirar, o próximo heartbeat refletirá isso.
O SealRoute agora está totalmente operacional. Visite / e você chegará ao painel vazio de Templates de Documentos, pronto para o seu primeiro upload.
Clique em Upload no painel, solte um PDF ou DOCX e arraste campos sobre ele - assinatura, data, texto, caixa de seleção, etc.
O SealRoute é, antes de tudo, uma API REST. Gere um token de API em Configurações → API e depois vá até a documentação da API para ver exemplos completos em 10 linguagens.