[BREAKGLASS] A server building plugins for BTCPay Server https://plugin-builder.btcpayserver.org
Go to file
nicolas.dorier e27b26d75a
Some checks failed
Publish Docker image / Push Docker image to Docker Hub (push) Has been cancelled
Add commit to api/v1/version
2022-11-20 19:15:03 +09:00
.github/workflows Add commit to api/v1/version 2022-11-20 19:15:03 +09:00
PluginBuilder Add commit to api/v1/version 2022-11-20 19:15:03 +09:00
PluginBuilder.Tests Prevent plugin identifier hijack, and add route for downloading binaries 2022-11-14 14:00:03 +09:00
.dockerignore init 2022-11-08 10:43:22 +09:00
.editorconfig init 2022-11-08 10:43:22 +09: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 Can show version of the current build on api/v1/version 2022-11-20 18:43:47 +09:00
Dockerfile Add commit to api/v1/version 2022-11-20 19:15:03 +09:00
README.md Update README.md 2022-11-15 21:55:01 +09: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/.

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=blah)
  • 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==)
  • 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

Get published versions

HTTP GET /api/v1/plugins?btcpayVersion=1.2.3.4&includePreRelease=true

List the published versions of the server compatible with btcpayVersion. (optionally include includePreRelease)

Download a version

HTTP GET /api/v1/plugins/{pluginSelector}/versions/{version}

Download the binaries of the plugin.

pluginSelector can be either a plugin slug (example: rockstar-stylist) or a plugin identifier surrounded by brackets (example: [BTCPayServer.Plugins.RockstarStylist]).