When a license ends
A paid license warns before it ends, keeps everything working through its grace days, then pauses the installation.
This page is for self-hosted installations. On GoRunner Cloud, GoRunner runs this for you.
A free license never ends, so this is about a paid one. Paused, nothing runs, and only platform admins can sign in, to load a license. Nothing is deleted.
- 30 days before
- Every Platform page says “License ends in 21 days. Load the renewed license before 30 Oct.” The License card says what happens next.
- 7 days before
- The line turns ochre, and Replace… is the card’s main key.
- The end date
- The grace days begin, and everything keeps working: “Renew by 13 Nov: everything keeps working until then.”
- The grace days end
- The installation pauses. A license with no grace days pauses on its end date.
With mail, every platform admin is also emailed, each email once. Without mail, the card says “Mail isn’t set up, so nobody is emailed before it ends.”, and the card and the line are the only warning.
The emails
| When | Subject |
|---|---|
| 30 days before | Your license for automations.example.com ends on 30 Oct |
| 7 days before | Your license for automations.example.com ends in 7 days |
| The end date | Your license for automations.example.com ended today |
Each has one button, Open Platform settings. A license loaded with less time left sends only the latest email it has reached. A license with no grace days has no end-date email. A reseller pool’s admins get none: they can’t load a license.
What paused means
| Who or what | While paused |
|---|---|
| People signing in | “Paused. This installation isn’t running right now. Your workflows, connections and history are safe.” With Let your administrator know., or Contact support if you set a support link. |
| Sign-in emails, sign-up, invitations | Only platform admins are sent a sign-in email. Nobody can sign up, and invitations can’t be accepted. |
| Platform admins | Press Sign in next to Platform admin?. Every address then shows the license page; the Platform console stays closed. |
| Workflows | Nothing runs. Schedules and polls skip; a queued run that hadn’t started is cancelled. A run already going finishes. Runs waiting on a person or a timer stay waiting. |
| Webhooks, API tokens, AI apps | 503 PAUSED, with Retry-After: 3600 on webhooks. |
| Forms, approval links | “This form isn’t accepting responses right now.” A submitted form is refused whole. An approval isn’t recorded; the link works again later. |
| The embed | An open embed says workflows are unavailable. A new one doesn’t open: the SDK reports the licence reason. Your server’s embed API calls get 403 EMBED_. |
| Your data | Kept: accounts, workflows, connections, history, settings and branding. |
A new installation starts paused too, until its first license. See First sign-in.
Start it again
Each way starts every server within a second. Nothing restarts.
- Open your address. Next to Platform admin?, press Sign in, and sign in.
- Paste the whole license into License and press Load license. It asks for no two-factor code.
- Press Go to Platform or Open your workflows.
You should see “License loaded … Everything runs again on every server.”
Your last license, beside the field, shows the one that ended and the organizations the next must cover. Only an instance-wide platform admin can load one; a reseller pool’s admin reads “Only an instance-wide platform admin can load a license.”
From the server
Or put it in .env as LICENSE_KEY and apply it with ./deploy.sh "$(cat VERSION)". On a paused installation, docker compose up -d also starts what stopped. Before the pause, load the renewal on the License card instead; that asks for your code.
After it is loaded
Schedules and polls carry on from their next time. What was missed isn’t run later, and cancelled runs stay cancelled. Webhooks and forms are accepted again, and senders that retry may resend. Waiting runs carry on.
What if the server’s clock is wrong?
Moving the clock back doesn’t extend a license: GoRunner judges it by the latest time any server has seen, and logs when a clock is behind.
If a clock once ran ahead, the license can read as ended too early. Ask GoRunner for a new license; one issued after the current one resets that time.
How do I see why it is paused?
At start, the API logs a licence lock line that says whether the installation runs, and why.
docker compose logs api | grep "licence lock"kubectl --namespace gorunner logs deploy/gorunner-api \
| grep "licence lock"Related
Checked against 12d85b3b