||2 months ago|
|_static||2 years ago|
|contrib||2 years ago|
|emails||4 months ago|
|fosspay||2 months ago|
|scripts||3 years ago|
|templates||2 months ago|
|.gitignore||6 years ago|
|LICENSE||6 years ago|
|Makefile||1 year ago|
|README.md||4 months ago|
|app.py||10 months ago|
|config.ini.example||2 years ago|
|cronjob.py||1 year ago|
|invoice||3 years ago|
|requirements.txt||4 months ago|
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 irc.libera.chat or file a GitHub issue.
Before you start
You will need a number of things set up before you start:
- An approved Stripe account
- A mail server
- A domain name and an SSL certificate
- A web server to host fosspay on
Install these things:
- Python 3
- pip (python 3)
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 https://git.sr.ht/~sircmpwn/fosspay 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
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.