Docker Compose Validator Deployment on macOS

Hi all,
I’ve been trying to deploy a Splice validator node following the official documentation at Docker Compose-Based Deployment of a Validator Node — Splice documentation , but I’m hitting a lot of issues. So I am wondering if this is tested, if it should work, and if there is a more appropriate reference somewhere.

My goals are to

  • deploy a participant
  • connect our back end
  • support local development via vpn
  • deploy to our whitelisted validator node

I have worked through the basic environment variables but not the ADDITIONAL_CONFIG_* variables which are dynamically generated from environment variables containing malformed HOCON syntax. Like ‘=’ characters that cause parsing errors, and improper multi-line format.

The compose-migrate.yaml file also has this restore-from-migration-dump = “/path” which breaks the parser.

Then the auth configuration has a bug where jwks-url is set to empty even when auth is disabled.

There also appears to be a bug in the Splice configuration system where optional fields are still validated when disabled or something.

And so on.

Are there any working examples or simpler deployment methods?
Is there an easier way to run a validator node without this overly complex compose setup?
Are these configuration parsing bugs known issues?

Has anyone successfully deployed a Splice validator on a MacBook?

I have not tried on ubuntu because the setup refers to the ../.. folder which contains files over the git maximum file limit.

Any guidance would be GREATLY appreciated.

Hi @ohthepain , I am running a validator on macOS following that very guide without any problems. Where exactly do things go wrong?

Very important: Are you doing this from an IP address that’s whitelisted? Otherwise the start.sh command will just get stuck here:

./start.sh -s "${SPONSOR_SV_URL}" -o "${ONBOARDING_SECRET}" -p "digitalasset-bernhard-1" -m "${MIGRATION_ID}" -w
INFO: SCAN address not provided, deriving it from the sponsor SV address: https://scan.sv-1.dev.global.canton.network.sync.global

.. and eventually time out.

If that’s not it, please post whatever error or symptom you are experiencing.