Your application sends syslog, SNMP traps, RADIUS requests, flows — and downloads files over five transports. Servienta gives your test suite a controlled instance of every one of those endpoints: bring it up with one command, generate traffic, read back exactly what arrived, reset, repeat.
Every address is reported machine-readably — no hard-coded host ports, so two instances share one host without colliding.
A single docker run brings up every endpoint and the management console in one container — on a laptop, a CI agent, or an isolated host with no internet at all.
Every received message — timestamp, source, parsed content — is one HTTP call away, scoped to your test run. Two concurrent runs never see each other's traffic.
Inject faults on both sides: unreachable hosts, rejected auth, cut transfers, silent drops, delayed replies. One reset returns everything to a known state.
A license enables a set of stands — the services your tests need. Start free; unlock more per instance, monthly or annual. Pay annually and get two months free.
Need a specific mix? Custom plans license exactly the stands you choose. Runs entirely on your infrastructure — offline, one artifact everywhere. Talk to us.
One container, no dependencies, works offline. Pull the image, mount a directory of files to serve, and go.
docker pull ghcr.io/servienta/servienta:latest mkdir -p fixtures && echo hello > fixtures/hello.txt docker run --rm \ -p 5000:5000 -p 5001:5001 -p 8080:8080 -p 9000:9000 \ -v "$PWD/fixtures:/fixtures:ro" \ ghcr.io/servienta/servienta:latest
# where is everything? curl http://localhost:5001/api/v1/endpoints # serves your fixtures byte-for-byte curl http://localhost:8080/hello.txt # declare a run, send traffic, read it back curl -X PUT http://localhost:5001/api/v1/runs/run-1 \ -d '{"sources": ["172.17.0.1"]}' echo 'hello from my app' | nc localhost 9000 curl 'http://localhost:5001/api/v1/received/reference?run=run-1' # return to a known state curl -X POST http://localhost:5001/api/v1/reset
[{ "at": "2026-09-01T10:22:04Z", "source": "172.17.0.1", "run": "run-1",
"line": "hello from my app" }]