Open Brand Exchangev0.1Version 0.1. Version 0.1 is out. The specification and the software are free to use.
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 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.
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.
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
For the web hosting package you may already have, with PHP and a database. No commands needed:
Download obx-portal-php-<version>.zip from the latest release.
Unzip it and upload the folder to your hosting with (S)FTP.
Point your (sub)domain, for example brands.yourbrand.com, at the folder called public.
Make the folders data and config writable (permissions 775; if the installer still says they are not, 777).
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”.
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.
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_URL
the public address of your portal
OBX_SECRET_KEY
a long random key (openssl rand -hex 32); keep it safe
OBX_SETUP_CODE
optional: a setup code you choose in advance
PORT
port, 8080 by default
After installing: the first start
Open the address of your portal in your browser.
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.
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.