Skip to content

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=false on 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_NAME on the test stack, such as ferrule-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.