Como Rodar um Servidor Mock Auto-Hospedado na Sua Intranet com Apidog

Execute um servidor mock auto-hospedado em sua própria intranet com o Apidog General Runner. Configuração, Runner Mock, HTTPS e a distinção entre o runner e a CLI explicadas.

INEZA Felin-Michel

INEZA Felin-Michel

15 julho 2026

Como Rodar um Servidor Mock Auto-Hospedado na Sua Intranet com Apidog

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

Algumas equipes não conseguem enviar seu tráfego para a nuvem. Talvez você esteja atrás de um firewall corporativo que bloqueia chamadas de saída para serviços de terceiros. Talvez uma regra de conformidade diga que os dados de solicitação e resposta devem permanecer em máquinas que você controla. Talvez todo o ambiente seja isolado (air-gapped) e nada saia da intranet. Em qualquer um desses casos, uma URL de mock hospedada na infraestrutura de outra pessoa é inviável, mesmo quando os próprios dados de mock são falsos.

O Apidog lida com isso através de um runner auto-hospedado. Em vez de suas requisições irem para o mock na nuvem do Apidog, você implanta um pequeno programa em um servidor que você possui, e esse programa retorna as respostas de mock de dentro da sua própria rede. O design reside no seu projeto Apidog como sempre; apenas o serviço de mock se move para o seu hardware. Este guia explica o que é o runner, quando escolhê-lo em vez do mock na nuvem, como configurá-lo a partir da documentação, e uma distinção que confunde as pessoas: o runner não é a CLI. Se você quer uma visão mais ampla do porquê as equipes executam mocks em suas próprias máquinas, o guia sobre servidores de mock de API auto-hospedados cobre o caso geral, e a Iniciativa OpenAPI explica a especificação a partir da qual esses mocks são gerados. Quer acompanhar? Baixe o Apidog primeiro.

botão

O que é o runner auto-hospedado

O Apidog Self-hosted Runner é um programa automatizado que você hospeda em um servidor autônomo. Ele é oficialmente chamado de General Runner e executa três tarefas: ele executa testes automatizados agendados, importa documentos de API e retorna respostas de mock. Essa terceira tarefa é o foco deste artigo.

Aqui está a ideia chave. Uma vez que você implanta um General Runner e configura seu Server Host, um novo ambiente chamado Runner Mock aparece automaticamente em seu projeto. Qualquer solicitação que você enviar através desse ambiente obtém sua resposta de mock do seu runner auto-hospedado, em vez do mock na nuvem do Apidog. O mesmo design de mock, os mesmos dados gerados, uma máquina diferente fazendo o serviço. Seu tráfego nunca sai da sua rede.

Esta é a alternativa auto-hospedada ao mock na nuvem. Se sua equipe pode acessar a internet e não tem nenhuma regra contra isso, o mock na nuvem do Apidog é mais simples porque não há nada a ser implantado. Opte pelo runner quando uma destas condições for verdadeira:

Se nenhuma dessas condições se aplicar, o host Docker extra é uma sobrecarga desnecessária. Seja honesto consigo mesmo sobre em qual situação você se encontra antes de provisionar um servidor.

Uma observação sobre planos e permissões. A documentação do Apidog não especifica uma distinção explícita entre gratuito e pago para o General Runner ou para o mock auto-hospedado, e não lista valores de preços para ele, então este guia não inventará nenhum. O que a configuração exige é permissão de administrador de equipe ou projeto, porque a implantação de um runner ocorre dentro de Recursos da Equipe, e apenas administradores podem abrir essas configurações. Se você não consegue ver o painel de Recursos, essa é a razão.

O que você precisa antes de começar

O runner é fornecido como um contêiner Docker, então o servidor que o hospeda precisa ter o Docker instalado. A documentação pede uma versão mínima de 20.10.0 e recomenda 20.10.13 ou mais recente. Verifique o que você tem:

docker --version

Você também precisa de um lugar para executá-lo: uma máquina Linux, macOS ou Windows que tanto os clientes Apidog da sua equipe quanto o serviço Apidog possam acessar. Em uma intranet, isso geralmente significa um servidor interno com um IP ou nome de host estável. Essa é a lista completa de pré-requisitos: Docker, um host e direitos de administrador na equipe. Todo o resto você configura dentro do próprio Apidog.

Implantar o General Runner

O comando de implantação é gerado para você de dentro do Apidog e contém um token, para que você não precise escrevê-lo manualmente. Veja o fluxo.

Gerar o comando

Abra a página inicial do Apidog, selecione sua equipe, clique em Recursos na barra lateral direita e escolha Implantar General Runner. Um pop-up aparecerá onde você configurará algumas coisas:

Quando terminar, copie o comando gerado. Isso é importante: o comando é exibido apenas uma vez, por motivos de segurança de dados, porque ele incorpora seu token. Se você o perder, deverá gerar um novo em vez de recuperar o antigo. Capture-o imediatamente.

Executá-lo no servidor

Cole o comando no terminal do seu servidor. A instalação começa automaticamente e puxa a imagem. Um comando finalizado se parece aproximadamente com este (o seu será diferente e incluirá o token real):

docker run -d \
  --name apidog-runner \
  -p 80:4524 \
  -v /opt/apidog-runner/data:/app/data \
  apidog/runner:latest \
  --token <SEU_TOKEN_GERADO>

Confirme se o contêiner está ativo:

docker ps

Você deve ver o contêiner do runner listado com seu mapeamento de porta. Um cliente Docker como o Docker Desktop mostra a mesma coisa se você preferir usar uma interface gráfica.

Confirmar registro

De volta ao Apidog, vá para Recursos da Equipe e abra General Runner. Clique no botão de atualização. O runner deve agora aparecer como implantado com o status de Iniciado. Se ele não aparecer de imediato, o botão de atualização é a sua solução; aguarde um momento e clique novamente.

O status do runner tem três estados que vale a pena conhecer:

Ativar Runner Mock

A implantação do runner fornece o agente. Mais um passo direciona seu tráfego de mock para ele.

Em Recursos da Equipe, abra General Runner e localize o campo Server Host. Insira o endereço onde seu runner pode ser acessado. Em uma configuração HTTP simples, é o host e a porta que você expôs, como http://127.0.0.1:80 para um teste local ou http://runner.internal.example.com:80 para um host de intranet compartilhado. Atrás de um proxy com terminação TLS, parece https://runner.example.com:443. Mais sobre HTTPS em breve.

Uma vez que o Server Host é configurado, o Apidog configura automaticamente o ambiente Runner Mock para o seu projeto. Verifique: abra o projeto, vá para Gerenciamento de Ambiente e confirme que Runner Mock agora aparece na lista de ambientes. Você não o criou manualmente; configurar o Server Host foi o que o fez aparecer.

Enviar uma solicitação através do mock auto-hospedado

Agora, use-o. Digamos que você tenha um endpoint GET /orders/{orderId} em um projeto para uma API interna de gerenciamento de pedidos. Abra esse endpoint e, no menu suspenso de ambiente na parte superior, selecione Runner Mock em vez do ambiente da nuvem. Envie a solicitação.

A resposta vem do seu runner. Como o Apidog gera dados de mock a partir do seu esquema, um esquema Order bem definido retorna valores realistas em vez de espaços reservados vazios:

curl http://runner.internal.example.com:80/orders/10583
{
  "orderId": 10583,
  "customerEmail": "amelia.turner@example.com",
  "status": "shipped",
  "total": 148.5,
  "currency": "USD",
  "createdAt": "2026-07-14T09:32:11Z"
}

Esse JSON nunca tocou a internet pública. O runner o construiu a partir do esquema do seu endpoint e o serviu de dentro da sua rede. A geração consciente de campos, como o valor customerEmail acima, vem do Apidog lendo os tipos e nomes de campo do seu esquema, o mesmo motor abordado no artigo complementar sobre geração automática de dados de mock realistas com smart mock. Se você deseja controlar exatamente o que uma determinada solicitação retorna, você adiciona uma expectativa de mock no endpoint, e o runner serve essa expectativa da mesma forma que o mock na nuvem faria. A mecânica de construir boas respostas de mock é a mesma, seja o servidor do Apidog ou o seu; apenas o host muda. Os conceitos gerais por trás do mocking de API se aplicam inalterados.

HTTPS, montagens de dados e outros detalhes do mundo real

Uma execução de teste em http://127.0.0.1 é fácil. Uma implantação em intranet compartilhada possui alguns pontos críticos que vale a pena conhecer antes de implementá-la para uma equipe.

HTTPS precisa de um proxy reverso

O runner não possui suporte embutido a certificados HTTPS e não realiza provisionamento automático de certificados. Ele não buscará ou gerenciará um certificado TLS para você. Se você precisar de https://, termine o TLS em um proxy reverso na frente do runner, por exemplo, o Nginx segurando seu certificado, e então aponte o Server Host para a URL HTTPS do proxy. Sem um proxy, use http://host:port. Não defina Server Host como https:// e espere que o runner responda ao TLS diretamente; ele não consegue.

Um bloco Nginx mínimo que serve como front-end para um runner na porta 4524 se parece com isto:

server {
    listen 443 ssl;
    server_name runner.example.com;

    ssl_certificate     /etc/ssl/certs/runner.example.com.pem;
    ssl_certificate_key /etc/ssl/private/runner.example.com.key;

    location / {
        proxy_pass http://127.0.0.1:4524;
        proxy_set_header Host $host;
    }
}

Então o Server Host se torna https://runner.example.com:443. O guia da MDN sobre HTTPS é um bom lembrete se a terminação TLS for algo novo para sua equipe.

Montagens de arquivo são específicas de caminho

Se seus mocks ou testes precisarem de arquivos extras, o runner os espera em caminhos fixos dentro do contêiner, então monte-os lá:

Conecte-os através de suas montagens -v para que sobrevivam a reinícios.

Comportamento de reimplantação e atualização

Quando uma nova versão do runner é lançada, você verá uma opção de Atualização (Upgrade), e em Mais Ações (More Actions) você pode Reimplantar (Redeploy). Ambos param o contêiner em execução enquanto o novo é iniciado. A parte tranquilizadora: as tarefas agendadas existentes no cliente Apidog não são afetadas por uma reimplantação ou atualização, então você só estará interrompendo o serviço ativo pelo momento em que o contêiner reinicia, sem perder a configuração.

Automatize o fluxo de trabalho com a CLI do Apidog

Aqui está a distinção que evita confusão: o runner é um agente de longa duração que pode servir mocks e executar tarefas agendadas, enquanto a CLI do Apidog é um executor de testes único para CI. São ferramentas diferentes. A CLI não pode servir, iniciar ou hospedar um servidor de mock. Não existe apidog run mock e não existe apidog mock serve. O apidog run da CLI executa cenários de teste, pastas de cenários de teste e suítes de teste, e seu grupo de comandos mock apenas realiza operações CRUD em expectativas de mock como dados. O serviço de mock é trabalho do runner, nunca da CLI.

Assim, os dois se encaixam da seguinte forma. A CLI e agentes de codificação de IA, como Cursor, Claude Code e Codex, podem criar e atualizar os endpoints e esquemas em seu projeto, o que mantém sua saída de mock precisa à medida que a especificação evolui. Uma vez que o mock auto-hospedado tenha desbloqueado o trabalho de frontend, os cenários de teste do mesmo projeto são executados sem interface (headless) em CI com um único comando, validando o backend real contra o próprio contrato que o mock descreveu:

apidog run -t <scenario_id> -e <env_id> -r html,cli

Esse único comando executa seus cenários contra o backend ativo e gera um relatório HTML mais um relatório CLI. A instalação é npm install -g apidog-cli no Node.js v16 ou superior; o guia de instalação da CLI do Apidog cobre apidog login e a configuração de token. Para que esse teste ocorra a cada push, integre-o ao seu pipeline com o guia de CI/CD da CLI do Apidog. O artigo sobre mocking de APIs pela CLI explica exatamente por que o terminal gerencia definições de mock, mas não as hospeda.

FAQ

Preciso do runner auto-hospedado se minha equipe pode acessar a internet?

Provavelmente não. O mock na nuvem não exige nada implantado e é o caminho mais simples. Escolha o runner quando o tráfego de saída for bloqueado ou auditado, uma regra de conformidade mantiver os dados na infraestrutura interna, ou o ambiente for isolado (air-gapped). Se você está comparando a abordagem hospedada com a gerenciada primeiro, o passo a passo do mock na nuvem do Apidog é o complemento natural a este guia.

A CLI do Apidog pode iniciar um servidor de mock auto-hospedado?

Não. A CLI executa testes com apidog run e gerencia expectativas de mock como dados com seu grupo de comandos mock. O serviço de tráfego de mock é feito pelo General Runner ou pelo mock na nuvem, nunca pela CLI. Se você esperava digitar um comando no terminal e ter um mock em execução em uma porta, essa é a tarefa do runner, configurada através da GUI conforme descrito acima.

O runner suporta HTTPS por conta própria?

Ele não vem com certificados nem os provisiona automaticamente. Coloque um proxy reverso como o Nginx na frente para terminar o TLS, e então aponte o Server Host para a URL https:// do proxy. Sem um proxy, use http://host:port.

Por que meu runner não aparece depois que executei o comando?

Abra Recursos da Equipe, vá para General Runner e clique no botão de atualização. O registro pode demorar um pouco. Se ainda assim não aparecer, confirme se o contêiner está em execução com docker ps e se o host é acessível a partir do Apidog. Um status de Offline significa que a conexão caiu; Iniciado (Started) é o que você deseja.

Várias equipes podem compartilhar um único runner para serviço de mock global?

Um runner é registrado na equipe onde você o implantou, e seu ambiente Runner Mock aparece por projeto. Se você gerencia equipes distribuídas que compartilham ambientes de mock, os padrões no guia sobre compartilhamento de ambientes de mock entre equipes globais o ajudarão a decidir quantos runners configurar e onde.

Conclusão

O mocking auto-hospedado com o General Runner mantém seus dados de solicitação na infraestrutura que você controla, enquanto o design do seu mock permanece onde sempre esteve, no seu projeto Apidog. Você implanta um contêiner Docker, configura o Server Host e o ambiente Runner Mock faz o resto. Opte por ele quando a nuvem estiver fora dos limites, e use o mock na nuvem quando não estiver. Pronto para executar mocks em sua própria rede? Baixe o Apidog, implante um runner e sirva sua primeira resposta de Runner Mock sem que um único pacote saia da sua intranet.

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs