1.`zrok-enable` - uses the account token to enable an isolated zrok environment in a named volume
1.`zrok-share` - runs zrok to reserve the unique name and proxy to the target URL
## How To Host farmOS with Docker
These compose files are a complete solution for self-hosting farmOS with a few additional steps.
1. Get a zrok account token and save it in a new file name `.env` in the same directory as the two compose files, e.g., `ZROK_ENABLE_TOKEN=abcd1234`.
1. Set a long, random database password, also in the `.env` file, e.g., `POSTGRES_PASSWORD=71adb2791158c0fdf81a0a48002646b107a62d16d33b2e6e1e`
1. In `compose.override.yml`, set variable `ZROK_UNIQUE_NAME` to the desired zrok subdomain, e.g. "selfgoatfarm" becomes https://selfgoatfarm.share.zrok.io.
1. In case you're self-hosting zrok too, not using zrok.io, then you must set `ZROK_API_ENDPOINT` to your zrok controller's API endpoint.
1. In the working directory with the compose files, say `docker compose up --detach`.
If everything works and you can visit farmOS at the zrok public share URL you specified then you're good. farmOS will auto-start if you reboot.
If it's not working then check the logs: `docker compose logs --follow`.