Cloud Patron - Open source Patreon alternative
Cloud Patron is an open source membership platform that enables fans to support creators with monthly subscriptions. Creators can customize support levels, set goals, and post updates for their patrons. Supports monthly credit card billing using Stripe.
Portal Cloud is a hosting service that enables anyone to run open source cloud applications.
Sign up for Portal Cloud and get $15 free credit.
Running Cloud Patron on a VPS is designed to be as simple as possible.
Recommended Specs
Create a DNS record for your domain that points to your server's IP address.
Example: cloudpatron.example.com A 172.x.x.x
Cloud Patron runs a TLS ("SSL") https server on port 443/tcp. It also runs a standard web server on port 80/tcp to redirect clients to the secure server. Port 80/tcp is required for Let's Encrypt verification.
Requirements
Example usage:
# Download the cloudpatron binary.
$ sudo wget -O /usr/bin/cloudpatron https://github.com/cloudpatron/cloudpatron/raw/master/cloudpatron-linux-amd64
# Make it executable.
$ sudo chmod +x /usr/bin/cloudpatron
# Allow it to bind to privileged ports 80 and 443.
$ sudo setcap cap_net_bind_service=+ep /usr/bin/cloudpatron
$ cloudpatron --http-host cloudpatron.example.com
-backlink string
backlink (optional)
-datadir string
data dir (default "/data")
-debug
debug mode
-help
display help and exit
-http-host string
HTTP host
-version
display version and exit
The official image is cloudpatron/cloudpatron
.
Follow the official Docker install instructions: Get Docker CE for Ubuntu
Make sure to change the --env CLOUDPATRON_HTTP_HOST
to your publicly accessible domain name.
# Your data directory must be bind-mounted as `/data` inside the container using the `--volume` flag.
# Create a data directoy
$ mkdir /data
docker create \
--name cloudpatron \
--restart always \
--volume /data:/data \
--network host \
--env CLOUDPATRON_HTTP_HOST=cloudpatron.example.com \
cloudpatron/cloudpatron:latest
$ sudo docker start cloudpatron
$ sudo docker logs cloudpatron
<log output>
Pull the latest image, remove the container, and re-create the container as explained above.
# Pull the latest image
$ sudo docker pull cloudpatron/cloudpatron
# Stop the container
$ sudo docker stop cloudpatron
# Remove the container (data is stored on the mounted volume)
$ sudo docker rm cloudpatron
# Re-create and start the container
$ sudo docker create ... (see above)
Email [email protected]