commit 415f50ce1e10b05892afe85a411acfef236509e4 Author: deepend Date: Sun Dec 12 07:05:52 2021 +0000 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..4234399 --- /dev/null +++ b/README.md @@ -0,0 +1,70 @@ +# fosspay [![Donate with fosspay](https://drewdevault.com/donate/static/donate-with-fosspay.png)](https://drewdevault.com/donate?project=3) + +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](http://web.libera.chat/gamja/) +or file a GitHub issue. + +## Before you start + +You will need a number of things set up before you start: + +1. An approved [Stripe](https://stripe.com/) account +1. A mail server +1. A domain name and an SSL certificate +1. A web server to host fosspay on + +## Installation + +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 https://git.sr.ht/~sircmpwn/fosspay + cd fosspay + +Install the Python packages: + + sudo pip3 install -r requirements.txt + +Compile the static assets: + + make + +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: + + python3 app.py + +Log into http://your-domain:5000, and you will receive further instructions. + +## Deployment + +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.