[BREAKGLASS] A server building plugins for BTCPay Server https://plugin-builder.btcpayserver.org
Go to file
thgO.O 92d1b977c3
Some checks failed
Publish Docker image / Push Docker image to Docker Hub (push) Has been cancelled
Merge pull request #151 from btcpayserver/swagger
Add API documentation (OpenAPI spec + Redocly)
2026-02-21 23:21:35 -03:00
.github/workflows Fix flaky tests by reusing plugin-builder image in CI 2026-02-18 03:00:43 -03:00
PluginBuilder Merge pull request #151 from btcpayserver/swagger 2026-02-21 23:21:35 -03:00
PluginBuilder.Tests . 2026-02-19 03:34:02 +01:00
.coderabbit.yaml chore: add coderabbit config 2025-09-11 17:00:03 -03:00
.dockerignore init 2022-11-08 10:43:22 +09:00
.editorconfig Fixing problem with cshtml files being removed @model string 2026-01-15 23:55:40 -06:00
.gitattributes init 2022-11-08 10:43:22 +09:00
.gitignore init 2022-11-08 10:43:22 +09:00
btcpayserver-plugin-builder.sln Improving playwright GitHub Actions 2025-10-16 09:44:03 -05:00
Cleanup.md Moving PluginNavPages to Component, closer to usage 2025-03-27 23:12:54 -05:00
Dockerfile bump buildx 2023-12-21 19:26:58 +09:00
README.md feat: add OpenAPI spec and Redocly docs page for /api/v1 endpoints 2026-02-16 21:52:06 +01:00

Introduction

This project hosts a server with a front end which can be used to build BTCPay Server plugins and store the binaries on some storage. You can find our live server on https://plugin-builder.btcpayserver.org/, that is updated through btcpayserver-infra repository.

Prerequisite

It assumes you installed docker on your system.

Configuration

All parameters are configured via environment variables.

  • PB_POSTGRES: Connection to a postgres database (example: User ID=postgres;Include Error Detail=true;Host=127.0.0.1;Port=61932;Database=btcpayplugin)
  • PB_STORAGE_CONNECTION_STRING: Connection string to azure storage to store build results (example: BlobEndpoint=http://127.0.0.1:32827/satoshi;AccountName=satoshi;AccountKey=Rxb41pUHRe+ibX5XS311tjXpjvu7mVi2xYJvtmq1j2jlUpN+fY/gkzyBMjqwzgj42geXGdYSbPEcu5i5wjSjPw==)
  • PB_CHEAT_MODE: If set to true, it's considered that the server is running in a development environment and will allow to bypass some security checks (right now only registering admin account).
  • ASPNETCORE_URLS: The url the web server will be listening (example: http://127.0.0.1:8080)
  • PB_DATADIR: Where some persistent data get saved (example: /datadir)

API

Full interactive API documentation is available at /docs on the live server.

The OpenAPI specification is available at /swagger/v1/swagger.json.

Some endpoints require HTTP Basic Auth using your login email and password:

curl --user "email:password" https://plugin-builder.btcpayserver.org/api/v1/plugins/{pluginSlug}/builds/{buildId}