hhmx.de
me@chrichri.ween.de
me@chrichri.ween.de

Chris Vogel

(@me@chrichri.ween.de)

Sa 01.01.2000

Beiträge: 6Folgt: 36Folgende: 82

not yet


intent

no sarcasm, no irony


hashtag

, , , , , ,


matrix

@chrichri:ween.de



Chris Vogel

Chris Vogel (@me@chrichri.ween.de)

Föderation · Fr 26.04.2024 19:21:02

Ha! First time I pushed the Assign button on my flohmarkt for the first article finally sold (out). All people interested in the pcb and parts received a message that I sold them all.


I hope that the will grow until there are enough people to exchange goods and services locally and generally quickly find the things I'm looking for or find someone interested in the stuff I do not want anymore, but that might be of value for someone else.


Maybe the upcoming integration will enable some more people to run an instance of their own.


Chris Vogel

Chris Vogel (@me@chrichri.ween.de)

Föderation · Mo 29.01.2024 20:15:45

- a lot of improvement!


It is really nice to see that during the last few days



  • irc channel started on Libera.Chat

  • the flohmarkt repository has been re-organized to let volunteers write to the wiki

  • the activity on open issues increased immensely


This would be a dream come true to have an open and decentralized small ads market place.


Chris Vogel

Chris Vogel (@me@chrichri.ween.de)

Föderation · Mi 24.01.2024 14:23:00

Installation of flohmarkt on Debian Bookworm

I tried two times to get the docker containers for running and for some reason failed. I had thought that this would be the easiest way to try the software.


In the end I decided to try an install on a bare system (in my case a SBC made by ) and expected this to take some time until I'd figured out how to configure the system.


In the end I got the software working within a good hour. Proves again: If it doesn't work try to make it more simple - in this case take away the docker software layer and run it on a dedicated system.


I installed a minimal Debian Bookworm and started out working as root like described below.


as root user
create user to run the software

useradd -m -s /bin/bash -c "flohmarkt service" flohmarkt


You might want to set a password or make sure the account is locked (man passwd or man usermod).


install necessary packages

apt-get install python3-pip python3-full curl apt-transport-https gnupg git


install couchdb

curl https://couchdb.apache.org/repo/keys.asc | gpg --dearmor | tee /usr/share/keyrings/couchdb-archive-keyring.gpg >/dev/null 2>&1
cat /usr/share/keyrings/couchdb-archive-keyring.gpg
cat /etc/os-release
source /etc/os-release
echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" | tee /etc/apt/sources.list.d/couchdb.list >/dev/null
apt-get update
apt-get install couchdb


As Erlang Magic Coo kie use something unique to your system like couchdb@your-hosts-fqdn.


as unprivileged user flohmarkt (or whatever name you chose)

root@flohmarkt:~# su - flohmarkt
flohmarkt@flohmarkt:~$


get flohmarkt

git clone https://codeberg.org/grindhold/flohmarkt.git


virtual python environment

flohmarkt@flohmarkt:~# python3 -m venv venv-flohmarkt
flohmarkt@flohmarkt:~# source venv-flohmarkt/bin/activate
(venv-flohmarkt) flohmarkt@flohmarkt:~#


This creates and activates a python virtual environment to install the needed modules.


Download and install the python dependencies into the venv:


(venv-flohmarkt) flohmarkt@flohmarkt:~# pip install -r flohmarkt/requirements.txt


flohmarkt.conf

cd flohmarkt
cp flohmarkt.conf.example flohmarkt.conf


Edit flohmarkt.conf .



  • CAFile: my mailserver uses a Let's Encrypt certificate. I downloaded https://letsencrypt.org/certs/isrgrootx1.pem and set the path to isrgrootx1.pem. No idea whether this is necessary. I changed my smtp Server setting from an private IP (didn't work) to its fqdn and then registration email worked.

  • In the section [Database] set Server = http://flohmarkt:<couchdb-user-passwort>@127.0.0.1:5984/ using your secret <couchdb-user-password> you'll use later also to initialize the database

  • JwtSecret: in README.md there is for docker a hint to generate it using openssl rand -base64 256, but this gave me a multi-line string that didn't work. I concatenated the lines to one long string and used that: openssl rand 256 | base64 -w 0 should give you a long string to put into JwtSecret.


initialize database

(venv-flohmarkt) flohmarkt@flohmarkt:~/flohmarkt# python3 initialize_couchdb.py
Using config in: ./flohmarkt.conf
Attempting to connect to DB at: http://127.0.0.1:5984
Trying to create user DB
Database exists, skipping
Trying to create flohmarkt DB
Trying to add flohmarkt User
Allow user to write database
Trying to add update_date search index
Trying to add creation_date search index
Trying to add name search index
Trying to add description search index
Trying to add item_id search index
Trying to add remote_url search index
Trying to add conversations-per-item view
Trying to add multiple-items view
Trying to add multiple-users view
Trying to add instance settigs


run Flohmarkt

You need to change to the flohmarkts directory and you need to be inside the venv:


(venv-flohmarkt) flohmarkt@flohmarkt:~/flohmarkt# uvicorn --host 127.0.0.1 --port 8000 --reload flohmarkt:app


This will make your flohmarkt listen on Port 8000 on your system and you could access it at http://127.0.0.1:8000/ .


To be able to reach your flohmarkt via network you'd need to make it listen to 0.0.0.0 (to use all IPs configured in the system).


public internet / tls

As far as I could find out until now flohmarkt provides the http service and that's it. To have the service running on public internet and federate with other fediverse services it needs to be accessible via https using a valid certificate.


reverse proxy

This can be achieved by running any proxy software that allows to proxy an incoming https connection to the http service offered by flohmarkt.


In a docker setup this could be a simple nginx configuration.


I didn't have to try, because…


yunohost

…I'm already running an on my DSL line. For yunohost there's the app redirect to run a reverse-proxy - if wanted for a whole domain. On the yunohost web-interface I configured a subdomain for flohmarkt, requested a Let's encrypt certificate for the domain and enabled the redirect app as a reverse proxy for the whole subdomain.


The idea using redirect in yunohost I took from this toot by Johannes Brakensiek.


up and running - sometimes

My host is experimental and running as https://flohmarkt.ween.de/ . I didn't open it for registration and I'm still thinking whether it could be integrated into my yunohost as an app.


Questions?

Feel free to write a toot using the hashtag . You can follow the hashtag either by whatever means your fediverse account offers or by following @flohmarkt_support@a.gup.pe .


Referenes

https://codeberg.org/grindhold/flohmarkt/src/branch/master/README.md
https://docs.couchdb.org/en/latest/install/unix.html#installation-using-the-apache-couchdb-convenience-binary-packages


Thanks to…

grindhold and all the contributors for their work on this software.


screenshot of a terminal showing the startup log from a flohmarkt

(Medien: 1)