Skip to content

Run it yourself

To run Artbucket, you need Docker. That is all for the first path; the second runs the app from source, for working on it.

Terminal window
git clone https://github.com/pwnera/artbucket.git
cd artbucket
cp .env.example .env # the example settings, to fill in
# Set BETTER_AUTH_SECRET in .env: openssl rand -base64 32
docker compose --profile app up -d

This starts Postgres, S3-compatible storage (SeaweedFS) and the app, which migrates its database as it starts. Open http://localhost:3000.

You need Node 22 or later and pnpm.

Terminal window
git clone https://github.com/pwnera/artbucket.git
cd artbucket
pnpm install
cp .env.example .env
docker compose up -d # Postgres and storage only
pnpm dev

Open http://localhost:3000 and make an account. The first one is the admin of everything, and until it exists nothing else works, in the app or the API. Then drop in a file.

The first time an admin opens Home, the app’s start page, it asks what they want to do: manage their company’s brand and assets, create a brand for an open-source project, manage brands for clients, build a brand and a design system for a product, or give AI agents the brand. Each answer is a short list that ends in its first win (a released brand, the brand in public, a client project, the brand in a Git repository, an agent’s first MCP call), with connecting a Git repository where it fits, and each step checks itself off once it is done. Skipped or unfinished, the list stays on Home, under the search.

pnpm seed:demo fills a running server with something to look at: Blender Foundation open movie artwork from Wikimedia Commons (posters, stills, concept art and behind-the-scenes shots, CC BY or CC0, with credit and license read from Commons), a collection per film, a Blender brand with its colors and logo rules, the films’ trailers, a PDF poster, a production PSD and a soundtrack, and a File formats collection to see every preview at work: AI, EPS, HEIC, Sketch, XD, Keynote, Word, Excel, PowerPoint, Figma, Lottie and After Effects files from open-source repositories, and Google Docs and Slides kept as links.

It calls the app’s API with a write key: after making the first account, open Integrations, API keys, and make one as an Editor. It runs from the clone with Node 22 or later and needs no pnpm install, so it works against the Docker-only path too:

Terminal window
ARTBUCKET_KEY=ab_... pnpm seed:demo # http://localhost:3000
APP_URL=https://assets.example.com ARTBUCKET_KEY=ab_... pnpm seed:demo
node --experimental-strip-types scripts/seed-demo.ts # without pnpm, same variables

It downloads from Wikimedia Commons, blender.org and GitHub, and is safe to run again: fields and collections are reused, the same bytes upload once, and brand rules already there are left alone.

Optional extras for previews: ffmpeg on the path for video thumbnails (the Docker image has it), and LibreOffice (soffice) for Word, Excel and PowerPoint previews beyond the thumbnail a file was saved with.