not-only-fans
not-only-fans copied to clipboard
an open source, self-hosted digital content subscription platform like `onlyfans.com` with cryptocurrency payment
NotOnlyFans
NotOnlyFans is an open source, self-hosted digital content subscription platform like onlyfans.com. The difference, however, is that it uses cryptocurrency (ETH) for payment, so the content will no longer be judged by the payment platform and credit card companies.
简体中文
Screenshots
Register and login page

Create column

Column view

Home feeds

Purchase column VIP via ETH

Subscribe and review

Message box

Modify profile

Modify personal background image

Blacklist

Multi-language

Self-hosted
Installation requirements
First we need to prepare a server with docker and docker-compose already installed, this server IP is noted as SIP.
Clone the code and start Docker
git clone https://github.com/easychen/not-only-fans.git
cd not-only-fans
docker-compose up -d --build
Initialize project data
Start by looking at the running Docker container.
docker ps
Record the container ID of the image as not-only-fans_app (CID for short), and then go inside the container.
docker exec -it ${container_id} /bin/bash
Initialize the web front end
cd /app/client/ && yarn install && yarn build
Initialize the API
cd /app/api/ && composer install && mkdir /app/api/storage && chmod -R 0777 /app/api/storage
Domain pointing
This image uses different domains to point to different directories, you can point the following two domains to the server IP (i.e. SIP before) in localhost.
notonlyfans.vip→ SIP (front-end domain)api.notonlyfans.vip→ SIP (API domain name)
Access at this point is ready for testing.
Customization
Use your own domain name
- Modify
docker/app/vhost.confand replace the front-end domain and API domain with your own. - modify
www/client/.env.productionand replace the domain name inREACT_APP_API_BASEwith your API domain name - modify
www/api/config/app.phpand replace the front-end domain name in it with your front-end domain name
Use your own infura
- Go to https://infura.io/ to open the service, click on the project name in Dashboard and copy the Key in
Settings. - Note that you can select the main or test network as needed.
- Update
www/api/config/app.phpwhereweb3_networkis located.
Use your own contract
- modify
www/api/contract/group.jsandwww/api/contract/deploy.js - deploy via
deploy.js - Fill in the address of the deployed contract in
www/api/config/app.phpin the corresponding place
Translated with www.DeepL.com/Translator