2.2. Catodon (Early Adopters)
Early Adopters
One of my bad sides is, that I can´t wait.
So I couldn´t for having a running Catodon server with the additional challenge to let it run in a Docker stack.
Basically I followed the install instructions of the great Catodon team.
And I leveraged the docker-compose.yml.example
and
the provided config files docker_example.env and
example.yml.
CAUTION: You should have some experience in setting up fediverse servers like Firefish, Sharkey and such, as I will only explain what made me stumbling.
Building the Catodon Image from Git Repository
Based on the docker-compose.yml.examle
I created my own docker-compose.yml
.
As there is - at the time I’m writing this - no docker image available, the image needs to be build from the Catodon git repository.
That’s as easy as changing following lines in docker-compose.yml
.
# image: catodon
build: https://codeberg.org/catodon/catodon.git
Building the image will start as soon as you start the container. For me and on my server it took about 10 minutes and went witout any issues. So be just patient.
Running on an ARM64 Based Server
My server is ARM64 based, and it turned out, that the pgroonga
image which is used in docker-compose.yml
is just not available for an ARM64 based system.
So I exchanged it with another one of the same version and the same source, which has an ARM64 image available:
# image: docker.io/groonga/pgroonga:latest-alpine-15
image: docker.io/groonga/pgroonga:latest-debian-15
Enabling Pgroonga Database Extension
When starting my catodon stack, I recognized, that the database did not support pgroonga
extension.
In the install instructions it is described how to enable it,
but unfortunately not how to do it in a docker environment.
This took me some time, but finally I made it:
Create Database
Let your Docker stack run for a while, until the error messages of Catodon appear complaining, that the database does not understand pgroonga. This creates the database and adds the database user for Catodon.
docker compose up
You see the logs, stop the processes with CTRL-C
as soon as the error appears.
Work in Database Container
Take your Docker stack down and only start the db
image:
docker compose down
docker compose up -d db
Open a shell in the db
container as user postgres
(I named my db
container catodon_db
, you might have to adapt the command):
docker exec -u postgres -it catodon_db bash
Enable the extension of the catodon database:
psql -U <database user> -c "CREATE EXTENSION pgroonga;" <database>
In this command replace
<database user>
with thePOSTGRES_USER
defined in.config/docker.env\
.<database>
with thePOSTGRES_DB
as defined it in.config/docker.env\
.
The option -U
did the trick and is a deviation from the install instructions.
Start the Catodon Stack
Take down your database container and start the Catodon stack:
docker compose down
docker compose up -d
Hopefully you see your Catodon server running and enjoy that you are an early adopter.
Kudos
Big kudos to the Catodon team. Although they just started, they make it quite easy to already setup your own server (It’s not official release at the moment, so be careful!). With the install instructions they already provided, setting up Catodon even in Docker works like a charm.