Servienta test services · rev. A
Early preview

Network integrations, verifiable.

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.

Delivery
1 container
0 dependencies
0 internet required
syslog
udp tcp relp
snmp
v2c v3 usm
radius
auth
tacacs+
auth
dns
resolution
ntp
time
kafka
in-process
ipfix
flow collector
§1

Port schedule

GET /api/v1/endpoints

Every address is reported machine-readably — no hard-coded host ports, so two instances share one host without colliding.

ServiceTransportAddressLicensedState
console (web UI) http 0.0.0.0:5000 always up
control API http 0.0.0.0:5001 always up
files http 0.0.0.0:8080 http up
files https 0.0.0.0:8443 https up
files ftp 0.0.0.0:2121 ftp up
files tftp udp 0.0.0.0:6969 tftp up
files scp ssh 0.0.0.0:2222 scp up
reference tcp line 0.0.0.0:9000 free up
syslog udp · tcp · relp udp 0.0.0.0:5514 syslog up
snmp-traps v2c · v3 usm udp 0.0.0.0:1162 snmp-traps drop
dns udp udp 0.0.0.0:15353 dns up
ntp udp udp 0.0.0.0:1123 ntp up
radius udp — radius unlicensed
§2

Method

01

One command up

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.

02

Read back what arrived

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.

03

Break things on purpose

Inject faults on both sides: unreachable hosts, rejected auth, cut transfers, silent drops, delayed replies. One reset returns everything to a known state.

§3

Licensing

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.

Free
$0
forever
Files
$25
or $250/yr
Standard
$50
or $500/yr
Enterprise
$100
or $1000/yr
referenceDemo receiver
httpFiles: HTTP
httpsFiles: HTTPS
ftpFiles: FTP
tftpFiles: TFTP
scpFiles: SCP
syslogSyslog
snmp-trapsSNMP traps
dnsDNS
ntpNTP
radiusRADIUS
tacacsTACACS+
kafkaKafka
ipfixIPFIX

Need a specific mix? Custom plans license exactly the stands you choose. Runs entirely on your infrastructure — offline, one artifact everywhere. Talk to us.

§4

Run it

ghcr.io/servienta/servienta:latest

One container, no dependencies, works offline. Pull the image, mount a directory of files to serve, and go.

A · bring it up
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
B · drive it from a test
# 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
Returned
[{ "at": "2026-09-01T10:22:04Z", "source": "172.17.0.1", "run": "run-1",
   "line": "hello from my app" }]