Running beside another stack¶
Ferrule can run on a Docker host that already runs other stacks, such as another monitoring tool. Two things can collide: container names and ports. And two Ferrule stacks can't share one Docker host.
Container names¶
Ferrule's containers have fixed names:
| Container | When |
|---|---|
ferrule |
always |
ferrule-victoria-metrics |
always |
ferrule-gotify, ferrule-igotify |
with the gotify or igotify profile |
ferrule-postgres |
with the postgres profile |
ferrule-apprise |
with the apprise profile |
Docker allows only one container of each name per host. Another stack with
different names is fine. A second Ferrule stack on the same host fails
to deploy with Conflict. The container name "/ferrule" is already in use,
whatever you call the stack.
Ports¶
| Port on the Docker host | Used by | Change it with |
|---|---|---|
8090 |
the dashboard | WEB_PORT |
8091 |
the bundled Gotify | GOTIFY_PORT |
8092 |
the bundled iGotify | IGOTIFY_PORT |
8093 |
the bundled Apprise | APPRISE_PORT |
127.0.0.1:5432 |
the bundled PostgreSQL | INVENTORY_DB_PORT |
The last four open only when their profile is on. VictoriaMetrics opens no
port. If something else already has 8090, set another, and open the
dashboard there:
WEB_PORT=8095
A port that's taken shows when you deploy, as port is already allocated.
Trying a test stack beside a live one¶
Because two Ferrule stacks can't share a host, run the test stack on a second Docker host, such as a small VM. Then keep it from getting in the live stack's way:
- Reading the same equipment is fine. Both stacks can use the same
read-only accounts. Each reads the UniFi console separately, so the
console answers twice as many requests. To spare it, set
UNIFI_ENABLED=falseon the test stack if you're only trying hypervisors or storage. - Don't send the same alerts twice. Leave the notification channels off
on the test stack, or set
NOTIFY_DEFAULT=off. - Give it its own backup name. If both back up to the same share or
bucket, set a different
BACKUP_NAMEon the test stack, such asferrule-test. With the same name, the two would prune each other's backups, and a fresh test stack would restore the live one's archive. - The trial is its own. A new stack starts its own 30-day trial.
When you're done, remove the test stack and its volumes.
If something's wrong¶
| What you see | What to do |
|---|---|
The container name "/ferrule" is already in use |
Another Ferrule stack runs on this host. Use another host, or remove the old stack |
port is already allocated |
Set WEB_PORT, or the port of the bundled service named in the message |
More in Troubleshooting.