Hosting

Run it where you want. Pay only for hosting.

One portal is one brand company on one server. You choose how to run it, from fully outsourced to fully yourself. Below, from simplest to most hands-on.

The three editions

Three editions of the same portal. They pass the same conformance suite and speak the same API, so you can move from one to another.

  • One click

    Portal for Cloudflare

    Runs on
    Cloudflare Workers, with D1 and R2
    You need
    A Cloudflare account
    Setup
    One click, then the setup wizard
    Cost
    Workers Paid plan, about $5 a month
    Set up on Cloudflare
  • Containers

    Portal for Google Cloud & Docker

    Runs on
    Google Cloud Run, or any server with Docker
    You need
    A Google Cloud account or a Docker host
    Setup
    One script or one Docker command
    Cost
    Pay per use on Cloud Run, or your own server
    Set up with Docker
  • No commands

    Portal for web hosting

    Runs on
    Ordinary web hosting with PHP and a database
    You need
    An FTP program
    Setup
    Upload a zip, then the installer
    Cost
    The hosting you already pay for
    Set up on web hosting

1. With a provider

The easiest option: a company hosts your portal, keeps it up to date and helps you set it up. Because every portal speaks the same standard, you can later move to another provider or to your own hosting.

Photopilot

Product photography software for fashion and lifestyle. Hosts a brand portal on your own domain and publishes through OBX.

Based in
Netherlands
Languages
Dutch and English
Open Brand Exchange
In development
Export all your content
Yes
Website
photopilot.ai

Become a provider?

Any hosting company, agency or software vendor can be listed here. The conditions are the same for everyone:

  • your portal passes the conformance suite
  • a brand can export all its data and images and leave
  • you publish your own prices and terms on your own site

Open a pull request on the website repository with your details in src/data/providers.json. Providers are listed alphabetically. openbrandexchange/website

2. With one click

Your own portal on your own account, without managing a server.

Portal for Cloudflare

Runs on Cloudflare Workers, with D1 as the database and R2 for the images. Click the button, sign in to Cloudflare and follow the steps. A portal in daily use needs the Workers Paid plan (5 dollars a month); the free plan is only enough to look around. Web versions of your photos are made by your browser and the obx tool.

Deploy to Cloudflare

openbrandexchange/node-ts

Portal for Google Cloud & Docker

A script that puts your portal on Google Cloud Run. You need a Google Cloud account and the gcloud tool.

git clone https://github.com/openbrandexchange/node-go
cd node-go
gcloud config set project my-project   # once: your Google Cloud project (billing on)
DRY_RUN=1 ./deploy/cloudrun.sh         # optional: only show what it would do, change nothing
./deploy/cloudrun.sh                   # region europe-west4; REGION=… for another

openbrandexchange/node-go · Docker

Portal for web hosting

For the web hosting package you may already have, with PHP and a database. No commands needed:

  1. Download obx-portal-php-<version>.zip from the latest release.
  2. Unzip it and upload the folder to your hosting with (S)FTP.
  3. Point your (sub)domain, for example brands.yourbrand.com, at the folder called public.
  4. Make the folders data and config writable (permissions 775; if the installer still says they are not, 777).
  5. Open that address. The installer checks your server and asks for the setup code from the file data/SETUP-CODE.txt, which you open with your FTP program. Then click “Open the setup wizard”.
  6. Add the cron address the installer shows as a cron job in your hosting control panel, every 5 minutes. Without it the portal still works.

Download the latest release · openbrandexchange/node-php

3. Docker

On your own server or on any cloud that runs containers. One command:

openssl rand -hex 32 > obx-secret.key      # once; keep this file safe, with your backups
docker run -d --name obx --restart unless-stopped \
  -p 8080:8080 -v obx-data:/data \
  -e OBX_PUBLIC_URL=https://brands.example.com \
  -e OBX_SECRET_KEY="$(cat obx-secret.key)" \
  ghcr.io/openbrandexchange/node-go

docker logs obx 2>&1 | grep -i "setup code"      # the one-time code for the first-run wizard

Or with HTTPS included, through Caddy:

compose.yaml
# compose.yaml: the node behind Caddy, which gets an HTTPS certificate by itself.
services:
  obx:
    image: ghcr.io/openbrandexchange/node-go
    restart: unless-stopped
    environment:
      OBX_PUBLIC_URL: https://brands.example.com
      OBX_SECRET_KEY: ${OBX_SECRET_KEY}      # openssl rand -hex 32, keep it safe
      OBX_TRUST_PROXY: "true"               # every request comes through Caddy (rate limits per visitor)
    volumes:
      - obx-data:/data
  caddy:
    image: caddy:2
    restart: unless-stopped
    ports: ["80:80", "443:443"]
    command: caddy reverse-proxy --from brands.example.com --to obx:8080
    volumes:
      - caddy-data:/data
volumes:
  obx-data:
  caddy-data:

Settings

OBX_PUBLIC_URLthe public address of your portal
OBX_SECRET_KEYa long random key (openssl rand -hex 32); keep it safe
OBX_SETUP_CODEoptional: a setup code you choose in advance
PORTport, 8080 by default

After installing: the first start

  1. Open the address of your portal in your browser.
  2. Enter the one-time setup code. It is in the log on the first start (Portal for web hosting: in data/SETUP-CODE.txt, and the installer fills it in for you), or you set it in advance with OBX_SETUP_CODE.
  3. Fill in your company and your first brand, and choose your own password. There is never a default password.

The setup code makes sure nobody else can claim a freshly installed portal.

Your own domain

Use a subdomain such as brands.yourbrand.com or b2b.yourbrand.com. Retailers then see your name, and your address stays the same when you change hosting.

Three editions, one portal

The three editions do the same thing and have the same admin and retailer portal. Choose what fits your hosting; you can switch later. See the implementations.