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 668b01ac4b Updated dependencies 3 weeks ago
assets 1.1.3 version bump and move css to assets 2 months ago
frontend Updated dependencies 3 weeks ago
.drone.yml remove quotes from string 3 weeks ago
.env.example 1.2.1 - Added default currency 1 month ago
.gitignore Updated build process 2 months ago Update '' 3 weeks ago Setting up automatic build uploading 3 weeks ago Setting up automatic build uploading 3 weeks ago
go.mod Moved from stripe checkout to using a custom workflow using elements (prep for owncast modals) 1 month ago
go.sum Moved from stripe checkout to using a custom workflow using elements (prep for owncast modals) 1 month ago
main.go 1.2.1 - Added default currency 1 month 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 (sort by name)

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