Skip to content
Donation collection for FOSS groups and individuals
HTML Python JavaScript Makefile
Branch: master
Clone or download

Latest commit

adasauce and ddevault Use the configured currency during the cronjob
currently hardcoded to USD, if you have this configured to something
else, you will charge in USD during subscriptions even if you have a
different currency set in config.ini.

this makes it consistent with the behaviour in fosspay/blueprints/
Latest commit e6ba79c Apr 22, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
_static Remove CDN and use local files Dec 24, 2019
contrib Merge pull request #16 from Perflyst/remove-cdn Dec 30, 2019
emails Add new emails for maintainer's sake Jan 19, 2019
fosspay assign gh_user variable if api token not present Dec 1, 2019
scripts Add invoice.js Feb 13, 2019
templates Merge pull request #16 from Perflyst/remove-cdn Dec 30, 2019
.gitignore Initial commit Sep 5, 2015
LICENSE Initial commit Sep 5, 2015
Makefile have Makefile `cp -r` the _static contents Apr 27, 2020 Rename old SirCmpwn to ddevault Dec 24, 2019 Modernize Flask and add Patreon API key refresh Aug 25, 2018
config.ini.example Change example domains to Dec 24, 2019 Use the configured currency during the cronjob Apr 27, 2020
invoice Add support for invoices Feb 6, 2019
requirements.txt Add {{root}} to form actions Sep 6, 2015

fosspay Donate with fosspay

Donation collection for FOSS groups and individuals.

  • Supports one-time and monthly donations
  • Process cards with Stripe
  • Flexible and customizable

It works for individuals (like me) and it works for organizations. Expect to spend about an hour or two setting up everything and then you're good to go.

For support, visit #cmpwn on or file a GitHub issue.

Before you start

You will need a number of things set up before you start:

  1. An approved Stripe account
  2. A mail server
  3. A domain name and an SSL certificate
  4. A web server to host fosspay on


Install these things:

  • Python 3
  • pip (python 3)
  • PostgreSQL

You're responsible for setting up PostgreSQL yourself. Prepare a connection string for later.

Clone the git repository on the server that you want to host fosspay on:

git clone git://
cd fosspay

Install the Python packages:

sudo pip3 install -r requirements.txt

Compile the static assets:


Create a configuration file:

cp config.ini.example config.ini

Edit config.ini to your liking. Then, you can run the following to start up the development server:


Log into http://your-domain:5000, and you will receive further instructions.


Once you have everything configured, you will need to switch from the dev server into something more permanent. Install gunicorn on your server and use the systemd unit provided in contrib/. You will also probably want to run this through nginx instead of directly exposing gunicorn to the web, see contrib/nginx.conf. Neither the nginx configuration or the systemd unit are immediately ready to use - read them and change them to suit your needs.

Using nginx or something like it is necessary for SSL support, and you must serve your site with https for Stripe to work.

You can’t perform that action at this time.