Pular para o conteúdo principal
Papyro
Comprar agora
Instalação em 15 minutos

Instalar o Papyro

Este guia conduz você pela instalação do Papyro no seu próprio servidor. Pressupõe-se conhecimento básico de Docker.

1. Requisitos

  • Docker 24+ e docker compose v2
  • Mínimo de 2 GB de RAM, 10 GB de disco
  • Reverse proxy com HTTPS (Cloudflare, Traefik, nginx)
  • Um domínio ou subdomínio (ex.: papyro.yourcompany.com)
  • Sua LICENSE_KEY adquirida (enviada por e-mail)
  • Seu token GHCR (para baixar a imagem, enviado por e-mail)

2. Configurar o diretório de trabalho

mkdir papyro && cd papyro
curl -fsSL https://papyro.dev/install/docker-compose.yml -o docker-compose.yml
curl -fsSL https://papyro.dev/install/env.example -o .env

3. Preencher o arquivo .env

Cole os valores do seu e-mail de compra:

# Domain
BETTER_AUTH_URL=https://papyro.yourcompany.com

# Database password (generate randomly)
DB_PASSWORD=$(openssl rand -hex 16)

# Better Auth secret (generate randomly)
BETTER_AUTH_SECRET=$(openssl rand -hex 32)

# Redis password (generate randomly)
REDIS_PASSWORD=$(openssl rand -hex 16)

# Cron secret (generate randomly)
CRON_SECRET=$(openssl rand -hex 32)

# License (from your purchase email)
LICENSE_KEY=eyJ2IjoxLCJjdXN0b21lciI6...

# AG Grid Enterprise license (data-grid block renders watermarked without it)
AG_GRID_LICENSE_KEY=

# OpenAI API key ("ask the grid" feature)
OPENAI_API_KEY=

# R2 backup (optional)
R2_ACCOUNT_ID=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET=

Execute os comandos openssl rand no seu terminal e cole as saídas. Não as perca — são necessárias para acessar o banco de dados.

4. Baixar a imagem Docker

Use o token GHCR que enviamos por e-mail para fazer login e baixar a imagem:

echo "ghp_xxxxxxxxxxxx" | docker login ghcr.io \
  -u egebilge --password-stdin

docker pull ghcr.io/egebilge/papyro:v1.0.0

5. Executar

docker compose up -d

A inicialização leva de 30 a 60 segundos (migrações são executadas, contêineres sobem).

6. Criar o primeiro administrador

Abra https://papyro.yourdomain.com em um navegador. O assistente de configuração aparece — informe os dados do seu primeiro usuário. Esse primeiro usuário é criado com o papel de super-admin e o assistente roda exatamente uma vez.

7. Verificar o status da licença

Vá em Admin → Licença (barra lateral). Seu nome de cliente, edição, número de assentos e data de expiração devem aparecer.

Solução de problemas

LICENSE_KEY is not set
Cause / Sebep: Variável de ambiente ausente ou copiada incorretamente.
Fix / Çözüm: Cole a linha exata do seu e-mail de compra no .env. Reinicie: docker compose up -d --force-recreate app
LICENSE_KEY is invalid: malformed envelope
Cause / Sebep: O envelope foi copiado de forma incompleta (colagem truncada).
Fix / Çözüm: Selecione e copie a linha LICENSE_KEY=... inteira do e-mail. Ela deve conter um ponto (.) dentro do valor.
LICENSE_KEY is invalid: invalid signature
Cause / Sebep: Versão de imagem errada, ou o envelope pertence a um binário de outro fornecedor.
Fix / Çözüm: Verifique a tag da imagem no seu comando docker pull. Para ajuda, entre em contato com [email protected].
LICENSE_OVER_SEAT — Cannot add new user
Cause / Sebep: O limite de assentos da sua licença está cheio.
Fix / Çözüm: Envie um e-mail para [email protected] para fazer upgrade do seu plano, ou exclua usuários banidos/inativos.

Renovação

Enviamos um e-mail 30 dias antes da expiração. Após o pagamento, uma nova LICENSE_KEY chega por e-mail. Substitua o valor no .env e reinicie:

docker compose up -d --force-recreate app

Suporte

E-mail: [email protected]

Resposta em até 48 horas. Use o prefixo de assunto "URGENT" para emergências.