[BREAKGLASS] A server building plugins for BTCPay Server https://plugin-builder.btcpayserver.org
Go to file
2026-05-14 11:59:58 +01:00
.github/workflows chore: add authenticated GitHub client to CI 2026-03-16 02:25:56 -03:00
PluginBuilder remove reviewer_feedback 2026-05-14 11:59:58 +01:00
PluginBuilder.Tests revert changes 2026-05-14 11:21:20 +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 the builder to dotnet 10.0 2026-03-13 15:32:06 +09:00
README.md Handle local loopback plugin downloads 2026-04-26 12:45:37 -03: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).
  • PB_ENABLE_LOCAL_ARTIFACT_DOWNLOAD_PROXY: If set to true, loopback artifact URLs can be proxied through the API download endpoint for local development.
  • 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}