iVendNextDevelopers Request a sandbox

Host with CitiXsys or run your own

Your app's outside service, the part a shop calls, has to run on a server the shop can reach. CitiXsys can run it for you on iVendNext App Hosting, or you can run it on your own cloud. Your code is the same either way and stays in your own repository: we run the image you build, never your source.

Two ways, side by side

Host with CitiXsys Run your own
Where it runs Its own box at https://<app>.ivendnext.app, with its own logs and its own store for secrets Any server you run, with a public HTTPS address
Who runs the server CitiXsys; you own the code You
How a shop connects By itself, when it installs your app from the App library's public list. An app delivered on one customer's Made for you shelf is connected by hand, for now By hand, for each shop
What it costs A price per app per month (the plans) Your own hosting bill
A new version You send us its tag. Shipping it from your own GitHub is coming You deploy it

The checks are the same on both: your app checks every call's signature, and a shop's site checks only that your app is at a public HTTPS address, then your answer's time and shape (Security and the handshake).

Who can host with CitiXsys

Anyone who builds for iVendNext, on one path: an iVendNext Partner, a licensed customer's IT team, and CitiXsys's own teams, such as the CitiXsys Consulting Team. Each hosted app has a named owner who orders it and pays for it.

The builder's journey

  1. Get a sandbox. Request a sandbox and get the kit.
  2. Build and check. The kit's check tells you, before anyone else sees your app, whether it is allowed. Installing it on your sandbox with tools/deploy shows the exact words a shop's administrator will be asked to agree to.
  3. Name it. Under your company's own first word, given once when we register your company: ACME LOYALTY → acme_loyalty. Every app you name under it is yours, with no wait on us (Publish your app).
  4. Publish. Publishing signs your app onto your preview shelf at once. A customer's shelf follows when your publish names that customer.
  5. Order hosting. Build the service's image, or a function's package, and send a hosting order. We create its box and its address and switch it on. Ordering and paying online, and shipping each update from your own GitHub, are coming.
  6. List it for every shop. Optional. One approval by us for its first listing, and again when a version sends data to a new address, adds an outside service with its own user or needs more Desk users, puts it on the public list with its card and its guide page.

Host with CitiXsys

If you would rather not run a server, CitiXsys runs your app for you on our own cloud, beside iVendNext. Your code stays in your own repository. We never need your source code or access to your code repository: we run the image you build.

Build the image for ARM64 (docker build --platform linux/arm64 …). Our hosting runs ARM processors; an image built only for x86 does not start.

What you send us — one hosting order:

Check it first, on your machine. The same checks we run, and what we would create; it changes nothing:

python3 tools/deploy_app/deploy_app.py <your app folder> --image <registry>/<repository>:1.0.0 --plan starter --partner <your name>

Order it from your CitiXsys partner manager. A licensed customer's IT team and CitiXsys's own teams, such as the CitiXsys Consulting Team, order hosting the same way. Ordering and paying online is coming. Not an iVendNext Partner yet? Start with the iVendNext Partner form.

What it costs: a price per app per month, in US dollars (below), covering the copies the plan runs (sandbox, staging). It is billed monthly, in whole months from the month the app goes live, with no minimum term: either side can stop at any month end. Whoever orders the hosting pays: you, or the customer the app is built for when that customer orders it. App Hosting is billed on its own, never as a line on an iVendNext subscription invoice. An app that only answers presses and is listed in the App library carries no hosting charge. The managed database, when it is offered, is priced separately.

What you get (for a container; a function's list is in A function or a container): the address https://<app>.ivendnext.app with its certificate; your secrets kept in our secret store (we ask you for them when the app goes live; they are never in a file); a restart when the health check fails; a firewall that lets in only our load balancer; and no rights in our cloud for your app's code. Your app's log lines are kept for the plan's days, and we send them to you when you ask.

Plan Per app, per month For What the platform sets
Starter $49 a till key or check handler, low volume size small · one instance · logs kept 14 days · a sandbox copy on request
Standard $129 a connected app small or medium · one instance · logs kept 30 days · a staging copy
Managed $399 apps built by the CitiXsys Consulting Team, and anyone who wants us to run it any size · two instances · logs kept 90 days · we check the app before it is connected and test it before each iVendNext upgrade, and patch the apps whose source we hold

Not offered yet: a database for your app, backups of its data, and alerts when it is down. A hosted app has no disk of its own to keep data on, so an app that keeps data waits for the managed database, which is priced separately: ask us when it will be offered.

An app that only answers presses runs as a function, paid per call, not as an always-on container: see A function or a container in this chapter.

A new version: send the new version's tag on the same order. Shipping updates from your own GitHub, with a permission limited to your one app, is coming.

The part inside the shop is separate. Your manifest reaches each customer's site through its administrator's install screen, with the customer's consent (chapter 14a); tools/deploy puts it on your own sandbox. Hosting runs only your outside service. An app that is not a container in this template's shape is a Managed job: ask us.

What the checks refuse, and the technical notes: tools/deploy_app.

Run your own

Any host that runs a container and gives it a public HTTPS address will do. What to set:

Setting Value
Image your registry and version tag
Port the one in app.json (8080 in the template)
Health check GET /health, expect 200
Environment the names in app.json; secrets from the host's secret store, never typed into a file
Instances at least one always running (a till key waits seconds, not a cold start)
Address HTTPS with a certificate for your own host name
Region near the shop's site, and where the customer's data may live
Restart automatic, on a failed health check

A managed container service in your own cloud account is the least work. A small server running docker compose also works. If your app keeps its own data, give it its own database with daily backups, and write down how you restore it.

Every deployable app does the same eight things wherever it runs: What every deployable app does. The template your app starts from: tools/app_template.

A blueprint of our own hosting set-up, to run in your own cloud account, is coming.