federated decentral classified ad software using activitypub
Go to file
grindhold e5a2fcd174 Merge pull request 'Add rollenspiel.trade instance' (#98) from koehr/flohmarkt:koehr-patch-1 into master
Reviewed-on: #98
2023-12-15 12:17:59 +00:00
docker removed backgrounddaemon code in favor of async execution in main service 2023-07-31 01:04:37 +02:00
flohmarkt support mass banning via csv blocklists 2023-11-14 17:36:53 +01:00
static support mass banning via csv blocklists 2023-11-14 17:36:53 +01:00
templates support mass banning via csv blocklists 2023-11-14 17:36:53 +01:00
.gitignore add data folders 2023-09-09 17:27:52 +02:00
Dockerfile Fix Dockerfile: missing libmagic1 dependency 2023-09-30 19:42:35 +02:00
LICENSE add license 2023-04-16 15:04:33 +02:00
README.md Update README.md 2023-11-22 00:04:03 +00:00
docker-compose_dev.yaml Split between dev and prod 2023-08-27 10:01:45 +02:00
docker-compose_prod.yaml Split between dev and prod 2023-08-27 10:01:45 +02:00
example.env example.env aktualisiert 2023-09-09 12:23:04 +00:00
flake.lock dep:up nixpkgs 2023-10-22 15:21:54 +02:00
flake.nix remove remnants of in-app ratelimiting 2023-08-25 15:53:10 +02:00
flohmarkt.conf.example imagepath is now datapath 2023-06-23 14:15:09 +02:00
initialize_couchdb.py include blocked_instances and blocked_users in db init script 2023-07-29 17:27:10 +02:00
instances.md Add rollenspiel.trade instance 2023-12-13 17:19:54 +00:00
notes notes on couchdb for later automation 2023-03-15 17:41:57 +01:00
requirements.txt remove remnants of in-app ratelimiting 2023-08-25 15:53:10 +02:00
setup.py improve description 2023-03-11 13:20:35 +01:00

README.md

flohmarkt

A decentral federated small trade platform

Service compatibility chart

Server Applications

Service Version Remote-Interact button URL copying Conversation Following Comment
Mastodon 4.1.4 [x] [x] [x] [x]
Firefish 1.0.4-beta [x] [x] [x] [x]
Calckey 14.0.0-rc3 [?] [? ] [x ] [?]
Misskey N/A [ x ] [ x ] [x ] [ x ] cant load avatars from flohmarkt side
Pixelfed ??? [ ] [x] [ ] [x] The software does not supply oauth url template for remote-interact. also cannot send private messages, so no conversations
Lemmy 0.18.2 [ ] [ ] [ ] [ ] Doesnt work at all. I don't even see requests from lemmy at my side.
Peertube 5.2.0 [ ] [ ] [ ] [ ] Can't display Notes.
Friendica N/A [ ] [x] [x] [x] Works only wirth 3rd party clients. The webapp itself can't send direct messages.
Pleroma 2.5.2 [ ] [ ] [x ] [x ]
Mammuthus ????? [ ] [ ] [ ] [ ] problems getting pubkeys from users
Mitra ????? [ ] [ ] [ ] [ ]

Client Applications (We don't support C2S. It's just about interacting through other services.)

Service Version Remote-Interact button URL copying Conversation Following Comment
Akkoma ???? [ ] [ ] [ ] [x]

Public Instances

Known public instances are listed in the instances.md file

Dependencies

  • python3-aiohttp
  • python3-aiosmtplib
  • python3-email-validator
  • python3-jwt
  • python3-pycryptodome
  • python3-fastapi
  • python3-multipart
  • python3-haversine
  • python3-websockets
  • uvicorn

Install

Nix

Use the nix flake and the contained flohmarkt nixos module in order to set up your service

Docker

  1. find a good location and clone the repo
git clone https://codeberg.org/grindhold/flohmarkt.git

Development

  1. rename the docker-compose.yml
mv docker-compose_dev.yaml docker-compose.yaml
  1. start the docker container
docker compose up

Productive

  1. rename env file
cp example.env .env
  1. create secret
echo "FLOHMARKT_JWT_SECRET=$(openssl rand -base64 256)" >> .env
  1. edit the other variables in .env
nano .env
  1. rename the docker-compose.yml
cp docker-compose_prod.yaml docker-compose.yaml
  1. start the docker container
docker compose up

You will be able to reach your flohmarkt instance at http://localhost:8000. Any mails that the system sends will be dumped to a mailhog at http://localhost:8025.

Plain

  1. Install the dependencies
  2. Make sure a couchdb server is ready and you have the admin password For installing couchdb on ubuntu, consult this howto: https://www.vultr.com/docs/install-an-apache-couchdb-database-server-on-ubuntu-20-04/
  3. Make sure you have access to a SMTP server and the credentials to a user account on it.
  4. Copy the flohmarkt.conf.example to flohmarkt.conf and edit it to fit your environment.
  5. Run the database initialization script $ python3 initialize_couchdb.py <couchdb_admin_pw> <couchdb_user_pw>
  6. Run the webserver uvicorn --host 127.0.0.1 --port 8000 --reload

You will be able to reach your flohmarkt instance at http://localhost:8000.

Initial Setup

Whichever setup method you choose, you will have to setup your instance after running it for the first time. On the console, the application will print a link to the instance setup. E.g. under docker-compose it will look like this:

flohmarkt-web-1       | INFO:     Application startup complete.
flohmarkt-web-1       | Flohmarkt is not initialized yet. Please go to
flohmarkt-web-1       |             http://localhost:8000/setup/23196062-8b7d-4b3f-a89d-aef2ff58ec63
flohmarkt-web-1       |             in order to complete the setup process

Follow the link and set up your admin account and instance.

Troubleshooting

  • Registration route is hanging Your Mailserver settings are most likely incorrect
  • I can't access my admin account Maybe the Initial Setup process failed. Forgot to click a point on the map maybe? You can always restart your instance and click the setup link again.

License

This project is licensed under the GNU Affero General Public License 3.