You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Atridad Lahiji e54a01fd5d Update '' 7 days ago
assets 1.1.3 version bump and move css to assets 1 month ago
frontend Updated ReadMe 7 days ago
.drone.yml Updated drone yaml 2 weeks ago
.env.example 1.2.1 - Added default currency 1 week ago
.gitignore Updated build process 1 month ago Update '' 7 days ago 1.2.1 - Added default currency 1 week ago
go.mod Moved from stripe checkout to using a custom workflow using elements (prep for owncast modals) 2 weeks ago
go.sum Moved from stripe checkout to using a custom workflow using elements (prep for owncast modals) 2 weeks ago
main.go 1.2.1 - Added default currency 1 week ago



Build Status

Elutheria Pay is a customizable self-hosted FOSS donation page for FOSS developers



  • Node.js 12 or higher (Build)
  • Golang 1.16.x or higher (Run)
  • A linux machine or WSL if you would like to use the helper scripts I wrote (Build + Run)
  • A stripe account with email notifications for transactions enabled: (Run)


Download the latest release and extract it

Edit the default .env file that is created (the parameters are outlined below)

IMPORTANT: Please ensure your stripe publishable and secret keys are set before running EleutheriaPay.

Run the binary

EleutheriaPay will run a server on localhost:3000. Please use this port when configuring a reverse proxy such as NGINX.


Build from source

Install the rice tool to bundle the frontend with the backend

go get

Run the build script



Site Configuration

OWNER_NAME: The name of the individual or organization this page is accepting donations for.
META_TITLE: The metadata title for the site.
TITLE: The title on the homepage.
DESCRIPTION: The description of the homepage.
DEFAULT_CURRENCY: The default currency when the page is first reached.

STRIPE_PK: Stripe publishable key.
STRIPE_SK: Stripe secret key.
STRIPE_ACC: Stripe account ID
STRIPE_LOCALE: Stripe locale (auto is recommended)

OWNCAST_HOSTNAME: The hostname of your Owncast instance (optional)
OWNCAST_TOKEN: Your Owncast API Token

BADGE_TEXT: The text show on the donation badge.
BADGE_COLOR: The hex value of the donation badge color.
BADGE_FONT_SIZE: An integer value representing the font size of the donationbadge.
BADGE_HEIGHT: The height of the donation badge in pixels.

BACK_LINK: The link the user a redirected to when clicking on the back button.

Social links:

Theme Configuration

The theme can be customized via the assets directory. Here you can change the logo, favicon, and modify the CSS.

Embeddable badge

A donate badge can be embedded onto any page or repository to route users to your EleutheriaPay instance. You will need to embed the following endpoint and link it to your instance:

<a href="https://donate.<DOMAIN>" target="_blank">
    <img src="https://donate.<DOMAIN>/api/badge" />

Official Integrations