flohmarkt/flohmarkt: federated decentral classified ad software using activitypub - Codeberg.org
flohmarkt
flohmarkt
Fork
You've already forked flohmarkt
41
Code
Issues
108
Pull requests
Projects
Releases
17
Packages
Wiki
Activity
Actions
federated decentral classified ad software using activitypub
3,126
commits
45
branches
18
tags
13
MiB
Python
64.9%
JavaScript
15.6%
HTML
14.7%
CSS
2.6%
Nix
1.5%
Other
0.6%
Find a file
2026-04-16 22:07:36 +02:00
.forgejo
/workflows
Update .forgejo/workflows/build-helm-chart.yaml
2026-04-08 11:25:11 +02:00
chart
fix pvc storageclass and accessmode
2026-03-17 18:55:55 +01:00
docker
cleanup: remove unused JwtSecret variables
2026-04-04 15:42:23 +02:00
docs
add a document to collect important conceptual rules when coding flohmarkt
2026-01-24 22:56:50 +01:00
flohmarkt
fix proposal ids
2026-04-16 22:07:36 +02:00
locale
l10n: compile translations
2026-04-07 21:14:08 +02:00
meta
webp screenshot
2026-03-05 16:11:14 +01:00
po
Translated using Weblate (Norwegian Bokmål)
2026-04-15 06:57:23 +00:00
static
Merge pull request 'login: Remove “stay logged in” checkboxes, unify session refresh' (
#962
) from remove-jwt-artifacts into master
2026-04-15 22:00:59 +02:00
templates
Merge pull request 'login: Remove “stay logged in” checkboxes, unify session refresh' (
#962
) from remove-jwt-artifacts into master
2026-04-15 22:00:59 +02:00
tests
Merge pull request 'Add useful computed properties to
ImageSchema
data model.' (
#377
) from bignose/flohmarkt:wip/maintenance/image-data-model-computed-properties into master
2024-11-19 16:55:44 +00:00
tools
website: fix screenshot media type
2026-04-08 22:51:13 +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
remove tgz
2026-03-17 18:38:25 +01:00
default.nix
login: Remove “stay logged in” checkboxes, unify session refresh
2026-03-30 11:35:42 +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
2026-02-10 22:16:37 +01:00
flake.nix
nix: add flohmarkt website to nix setup
2026-02-26 20:58:40 +01: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
Migrate from JWT tokens to session cookies
2026-01-28 16:12:03 +01: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
cleanup: remove unused JwtSecret variables
2026-04-04 15:42:23 +02:00
nginx.conf.example
nginx example: deactivate proxy-cache
2025-10-31 12:32:27 +01:00
pyproject.toml
Merge pull request 'login: Remove “stay logged in” checkboxes, unify session refresh' (
#962
) from remove-jwt-artifacts into master
2026-04-15 22:00:59 +02:00
README.md
webp screenshot
2026-03-05 16:11:14 +01:00
RELEASE.md
document version change in Chart.yaml
2026-03-17 18:44:27 +01:00
schema.sql
administration: Add an instance language selection field
2026-03-04 20:21:12 +01:00
README.md
flohmarkt
A decentral federated small advertisement platform
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.
presentation at ChaosCamp 2023
list of known instances on the wiki
Service compatibility chart
Regularly tooting news about flohmarkt on mastodon:
@grindhold@23.social
under the tag #flohmarkt
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
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
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.