Open Brand Exchangev0.1Versie 0.1. Versie 0.1 is uit. De specificatie en de software zijn vrij te gebruiken.
Hosting
Draai het waar je wilt. Betaal alleen voor hosting.
Eén portaal is één merkbedrijf op één server. Jij kiest hoe je het draait, van volledig uitbesteed tot helemaal zelf. Hieronder van eenvoudig naar zelf doen.
Drie edities van hetzelfde portaal. Ze doorstaan dezelfde conformiteitstests en spreken dezelfde API, dus je kunt van de een naar de ander overstappen.
Het makkelijkst: een bedrijf host je portaal, houdt het bij en helpt je bij de inrichting. Omdat elk portaal dezelfde standaard spreekt, kun je later overstappen naar een andere provider of naar eigen hosting.
Photopilot
Productfotografie-software voor mode en lifestyle. Host een merkportaal op je eigen domein en publiceert via OBX.
Elke hostingpartij, elk bureau en elke softwareleverancier kan hier staan. De voorwaarden zijn voor iedereen gelijk:
je portaal slaagt voor de conformancetest
een merk kan al zijn data en beelden exporteren en vertrekken
je vermeldt je eigen prijzen en voorwaarden op je eigen site
Open een pull request op de website-repository met je gegevens in src/data/providers.json. Aanbieders staan op alfabetische volgorde. openbrandexchange/website
2. Met één klik
Je eigen portaal op je eigen account, zonder een server te beheren.
Portaal voor Cloudflare
Draait op Cloudflare Workers, met D1 als database en R2 voor de beelden. Klik op de knop, log in bij Cloudflare en volg de stappen. Voor een portal die je dagelijks gebruikt heb je het Workers Paid-abonnement nodig (5 dollar per maand); het gratis abonnement is alleen genoeg om rond te kijken. Webversies van je foto's maken je browser en de obx-tool.
Een script dat je portaal op Google Cloud Run zet. Je hebt een Google Cloud-account en de gcloud-tool nodig.
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
Voor het webhostingpakket dat je misschien al hebt, met PHP en een database. Geen commando's nodig:
Download obx-portal-php-<version>.zip bij de nieuwste release.
Pak het uit en upload de map met (S)FTP naar je hosting.
Laat je (sub)domein, bijvoorbeeld beeldbank.jouwmerk.nl, naar de map public wijzen.
Maak de mappen data en config schrijfbaar (rechten 775; zegt de installatie dat ze het nog niet zijn, dan 777).
Open dat adres. De installatie controleert je server en vraagt om de installatiecode uit het bestand data/SETUP-CODE.txt, dat je met je FTP-programma opent. Klik daarna op “Open de installatiewizard”.
Zet het cron-adres dat de installatie toont als cronjob in het beheerpaneel van je hosting, elke 5 minuten. Zonder werkt het portaal ook.
Op je eigen server of bij elke cloud die containers draait. Eén commando:
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
Of met HTTPS erbij, via 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:
Instellingen
OBX_PUBLIC_URL
het openbare adres van je portaal
OBX_SECRET_KEY
een lange willekeurige sleutel (openssl rand -hex 32); bewaar hem goed
OBX_SETUP_CODE
optioneel: een setupcode die je vooraf kiest
PORT
poort, standaard 8080
Na het installeren: de eerste start
Open het adres van je portaal in je browser.
Vul de eenmalige installatiecode in. Die staat in het log bij de eerste start (Portaal voor webhosting: in data/SETUP-CODE.txt, en de installatie vult hem voor je in), of je stelt hem vooraf in met OBX_SETUP_CODE.
Vul je bedrijf en je eerste merk in en kies je eigen wachtwoord. Er is nooit een standaardwachtwoord.
De setupcode zorgt ervoor dat niemand anders een net geïnstalleerd portaal kan claimen.
Je eigen domein
Gebruik een subdomein zoals beeldbank.jouwmerk.nl of b2b.jouwmerk.nl. Retailers zien dan jouw naam, en je adres blijft hetzelfde als je van hosting wisselt.
Drie edities, één portaal
De drie edities doen hetzelfde en hebben dezelfde beheeromgeving en hetzelfde retailerportaal. Kies wat bij je hosting past; wisselen kan later altijd. Bekijk de implementaties.