federated decentral classified ad software using activitypub
  • Python 65.8%
  • JavaScript 15.1%
  • HTML 14.2%
  • CSS 2.4%
  • Nix 1.9%
  • Other 0.5%
Find a file
2026-07-05 16:37:30 +02:00
.forgejo/workflows Update .forgejo/workflows/build-helm-chart.yaml 2026-04-08 11:25:11 +02:00
chart docs: redundantly mention every place we need to bump version 2026-06-06 16:14:33 +02:00
docker cleanup: remove unused JwtSecret variables 2026-04-04 15:42:23 +02:00
docs feature: Add item submit moderation 2026-06-16 14:42:59 +02:00
flohmarkt fix addressed message-content field 2026-07-05 16:37:30 +02:00
locale l10n: compile translations 2026-07-04 19:29:27 +02:00
meta webp screenshot 2026-03-05 16:11:14 +01:00
po Translated using Weblate (German) 2026-07-05 10:54:07 +00:00
static l10n: compile translations 2026-07-04 19:29:27 +02:00
templates Merge branch 'master' into replaceMessagesForNotifications 2026-07-04 17:45:41 +02:00
tests Merge branch 'master' into replaceMessagesForNotifications 2026-07-04 17:45:41 +02:00
tools feature: Add item submit moderation 2026-06-16 14:42:59 +02:00
util/static-analysis Add a static check for text files containing U+0008 TAB. 2024-11-04 18:55:03 +11:00
.editorconfig don't enforce linebreaks 2024-11-04 16:31:55 +01:00
.envrc feat: add Direnv for automatic environment entering 2024-11-30 20:06:30 +01:00
.gitignore gitignore: add test build artifacts 2026-06-17 21:25:06 +02:00
default.nix nix: filterSource the src 2026-05-05 01:23:40 +02:00
docker-compose_dev.yaml cleanup: remove unused JwtSecret variables 2026-04-04 15:42:23 +02:00
docker-compose_prod.yaml add ports for docker database 2026-03-18 21:01:50 +01:00
docker-compose_prod_prebuilt.yaml add ports for docker database 2026-03-18 21:01:50 +01:00
Dockerfile update 3.12 2025-11-20 12:47:56 +01:00
example.env cleanup: remove unused JwtSecret variables 2026-04-04 15:42:23 +02:00
flake.lock dep:up nixpkgs 25.11 → 26.05 2026-06-07 23:01:43 +02:00
flake.nix feature: Add item submit moderation 2026-06-16 14:42:59 +02:00
flohklon.sh flohklon makes files writable 2024-09-01 15:33:06 +02:00
flohmarkt.conf.example config: allow reading secrets from files (systemd LoadCredential) 2026-04-04 15:49:21 +02:00
initialize_couchdb.py feature: Add item submit moderation 2026-06-16 14:42:59 +02:00
l10n_compile.sh website: set up translations, add German translation 2026-02-26 20:49:33 +01:00
l10n_createlocale.sh introduce capabilities for i18n 2024-09-25 17:08:12 +02:00
l10n_po2json.py l10n: indent & sort frontend json dump 2026-03-04 14:52:43 +01:00
l10n_update.sh l10n: correctly fix “escape \" in jinja {%trans%} blocks” 2026-03-04 14:46:36 +01:00
l10n_updatejinja.py l10n: make updatescript compatible with plural string in jinja 2026-03-18 23:55:24 +01:00
LICENSE add license 2023-04-16 15:04:33 +02:00
module.nix nix: filterSource the src 2026-05-05 01:23:40 +02:00
nginx.conf.example nginx example: deactivate proxy-cache 2025-10-31 12:32:27 +01:00
pyproject.toml docs: redundantly mention every place we need to bump version 2026-06-06 16:14:33 +02:00
README.md webp screenshot 2026-03-05 16:11:14 +01:00
RELEASE.md docs: redundantly mention every place we need to bump version 2026-06-06 16:14:33 +02:00
schema.sql feature: Add item submit moderation 2026-06-16 14:42:59 +02:00

flohmarkt

A decentral federated small advertisement platform

Screenshot

flohmarkt is a self-hostable web application that can be used to show small ads that registered users may publish. These small ads are not limited to live on only the one server they were created at. Instead they can be shared among other flohmarkt servers as well as many other servers that are part of the fediverse (e.g mastodon-servers).

Registration works through the flohmarkt itself and can be switched off (to run a server for e.g. only one person or only the persons that had been registered until that moment).

To register it's necessary to provide an email address to which a confirmation link is send.

Registered users can access a simple form to publish their small ads. The small ads can be looked at by anybody who is able to reach the website.

Federation

To communicate with someone who published a small ad the server hints to an unregistred user _"To answer this offer please log in or create an account. OR use another fediverse-account".

The small add visited turns out to be a note in the fediverse. It's url can be opened with your favourite fediverse client at the server you're already registered to. You then can boost the small ad like any other note you read.

Or you can use your account to answer the author of the small ad if - and only if - you mark your note as 'private' aka 'direct'. This way you can contact the person.

It's also possible to follow accounts on flohmarkt servers like any other account in the fediverse to get new small ads published by that account in your timeline.

Federation between flohmarkts

At time of installation the software asks for the coordinates of the community it should be for and the radius it should be used in.

This is an offer to help make the goods that might be offered travel less far. A flohmarkt can manually federate with other flohmarkts in its range showing all their goods on its page. . This is not ment to be a restriction, but a nudging to build local communities. These would have the advantage that people could trust each other more, because trades face-to-face could be more common.

More information

Generally the wiki is a good source of information.

Project Name

The name flohmarkt is a german word and translates to flea market or garage sale in english. This is a symbol for each flohmarkt being meant to be a small place for a somehow connected group of people. All the flohmarkts willing to federate make up one big place for small advertisements about exchange of goods and services.

flohmarkt as its project name is written in lower-case letters.

Installation

DO NOT INSTALL THE master BRANCH INTO A PRODUCTIVE SETUP. IT IS NOT STABLE.
ONLY INSTALL RELEASES THAT HAVE VERSION NUMBERS LIKE 0.10.0

IT IS ADVISED NOWHERE IN THE WIKI TO INSTALL master. WE KNOW IT'S TECHNICALLY POSSIBLE
BUT IT IS STILL A VERY BAD IDEA. DON'T DO IT. YOU WILL LIKELY LOSE DATA.

You have been warned :)

Documentation on the wiki

License

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

Acknowledgements

Funding

NLNet

This project is funded through NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo NGI Zero Logo

Prototypefund

This project has also been funded by the Prototypefund with resources from the German Ministry for Science, Technology and Space.

Services

Freie Netze München

The flohmarkt community uses free and open-source source videoconferencing software Jitsi Meet hosted by Freie Netze München e.V..