Auto-hospedar o Worklenz
O Worklenz e totalmente de codigo aberto e pode ser hospedado nos seus proprios servidores, dando a voce controle total sobre seus dados e infraestrutura. Este guia cobre tudo o que voce precisa para colocar o Worklenz em funcionamento na sua propria maquina ou servidor de producao.
Prerequisitos
Antes de comecar, certifique-se de ter instalado o seguinte:
| Requisito | Versao |
|---|---|
| Node.js | v18 ou superior |
| PostgreSQL | v15 ou superior |
| Docker e Docker Compose | Ultima versao estavel |
| Git | Qualquer versao recente |
Inicio rapido com Docker (recomendado)
O Docker e a forma mais rapida e confiavel de colocar o Worklenz em funcionamento. O script de configuracao automatica cuida da configuracao, dos segredos e do SSL.
Configuracao automatica
git clone https://github.com/Worklenz/worklenz.gitcd worklenz./quick-setup.shO script automaticamente:
- Cria um arquivo
.envcom segredos de seguranca gerados - Configura as URLs para o seu dominio
- Configura certificados SSL (autoassinados localmente, Let’s Encrypt para producao)
- Inicia todos os servicos
Pontos de acesso apos a configuracao:
| Servico | URL |
|---|---|
| Aplicacao Worklenz | https://localhost ou http://localhost |
| Console MinIO | http://localhost:9001 |
Configuracao manual com Docker
Se preferir configurar voce mesmo:
cp .env.example .env# Edite .env com os valores necessariosdocker compose --profile express up -dInstalacao manual (desenvolvimento)
Use esta abordagem se quiser executar o Worklenz localmente para desenvolvimento ou testes sem Docker.
1. Clone o repositorio:
git clone https://github.com/Worklenz/worklenz.gitcd worklenz2. Configure o ambiente:
cp worklenz-backend/.env.template worklenz-backend/.env3. Instale as dependencias:
cd worklenz-backend && npm installcd ../worklenz-frontend && npm install4. Inicialize o banco de dados:
Execute os seguintes arquivos SQL em ordem no seu banco de dados PostgreSQL:
psql -U seu_usuario -d worklenz_db -f database/sql/0_extensions.sqlpsql -U seu_usuario -d worklenz_db -f database/sql/1_tables.sqlpsql -U seu_usuario -d worklenz_db -f database/sql/indexes.sqlpsql -U seu_usuario -d worklenz_db -f database/sql/4_functions.sqlpsql -U seu_usuario -d worklenz_db -f database/sql/triggers.sqlpsql -U seu_usuario -d worklenz_db -f database/sql/3_views.sqlpsql -U seu_usuario -d worklenz_db -f database/sql/2_dml.sqlpsql -U seu_usuario -d worklenz_db -f database/sql/5_database_user.sql5. Inicie os servicos:
Abra dois terminais e execute:
# Terminal 1 - Backendcd worklenz-backendnpm run dev:all
# Terminal 2 - Frontendcd worklenz-frontendnpm run devAcesse a aplicacao em http://localhost:5000.
Implantacao em producao
Configuracao rapida para producao
git clone https://github.com/Worklenz/worklenz.gitcd worklenz./quick-setup.sh# Insira seu dominio de producao quando solicitado (ex. worklenz.exemplo.com)Configuracao manual para producao
1. Configure o arquivo de ambiente:
cp .env.example .envEdite .env e defina os seguintes valores principais:
DOMAIN=seu-dominio.comVITE_API_URL=https://seu-dominio.comVITE_SOCKET_URL=wss://seu-dominio.comENABLE_SSL=trueLETSENCRYPT_EMAIL=seu-email@dominio.comGere tambem segredos seguros para DB_PASSWORD, SESSION_SECRET e outras variaveis sensiveis:
openssl rand -hex 322. Aponte o registro DNS A do seu dominio para o IP do seu servidor.
3. Inicie com SSL:
docker compose --profile express --profile ssl up -dAcesse sua instancia em https://seu-dominio.com.
Configuracao
Variaveis de ambiente principais
| Variavel | Finalidade |
|---|---|
DOMAIN | Seu dominio (use localhost para testes locais) |
DEPLOYMENT_MODE | express (servicos integrados) ou advanced (servicos externos) |
STORAGE_PROVIDER | s3 (MinIO ou AWS) ou azure |
ENABLE_SSL | true ou false para SSL/TLS |
BACKUP_RETENTION_DAYS | Dias para manter backups (padrao: 30) |
DB_PASSWORD | Senha do PostgreSQL |
SESSION_SECRET | Chave de criptografia de sessao |
Modos de implantacao
Modo Express (padrao) - inclui PostgreSQL, Redis e MinIO integrados:
docker compose --profile express up -dModo Avancado - use servicos externos como AWS S3, Azure Blob Storage ou uma instancia PostgreSQL externa:
Defina DEPLOYMENT_MODE=advanced no seu arquivo .env antes de iniciar.
Configuracao de armazenamento
O Worklenz usa MinIO por padrao para armazenamento de arquivos, mas suporta multiplos backends.
| Provedor | Detalhes |
|---|---|
| MinIO (padrao) | Compativel com S3, incluido na configuracao Docker. Console em http://localhost:9001 (credenciais: minioadmin / minioadmin). Bucket padrao: worklenz-bucket (criado automaticamente). |
| AWS S3 | Defina STORAGE_PROVIDER=s3 e configure as credenciais AWS no .env. |
| Azure Blob Storage | Defina STORAGE_PROVIDER=azure e configure as credenciais Azure no .env. |
Comandos de gerenciamento
Use o script manage.sh para gerenciar sua instancia do Worklenz:
./manage.sh status # Ver status dos servicos./manage.sh logs # Ver logs./manage.sh backup # Criar backup do banco de dados./manage.sh restore # Restaurar a partir de um backup./manage.sh stop # Parar todos os servicos./manage.sh start # Iniciar todos os servicos./manage.sh ssl # Gerenciar certificados SSL./manage.sh upgrade # Atualizar para a versao mais recente./manage.sh auto-configure # Gerar segredos automaticamenteBackups
Habilitar backups automaticos
docker compose --profile express --profile backup up -dBackup e restauracao manual
./manage.sh backup # Criar um backup./manage.sh restore # Restaurar a partir de um backupDefina BACKUP_RETENTION_DAYS no seu arquivo .env para controlar por quanto tempo os backups sao mantidos.
Boas praticas de seguranca
O Worklenz inclui varios recursos de seguranca prontos para uso:
- Conteineres sem privilegios de root (todos os servicos rodam como usuarios sem privilegios)
- Isolamento de rede (a rede do backend e somente interna)
- Suporte SSL/TLS (Let’s Encrypt para producao, autoassinado para localhost)
- Limitacao de taxa em endpoints de API e login
- Cabecalhos de seguranca (HSTS, CSP, X-Frame-Options)
- Segredos seguros gerados automaticamente
Guias em video
Tutoriais em video passo a passo estao disponiveis se preferir um guia visual:
Licenca
O Worklenz e lancado sob a Licenca Publica Geral Affero GNU v3 (AGPLv3).
Para documentacao detalhada sobre implantacao com Docker, consulte o arquivo DOCKER_SETUP.md no repositorio. Para relatar vulnerabilidades de seguranca, entre em contato com info@worklenz.com.