This document provides information for those interested in hacking on or contributing to SourceHut.
Here are some tips to expedite the installation procedure:
python3 run.py instead.
In addition to the runtime dependencies of our packages, building packages from source requires additional build-time dependencies:
sassc for CSS pre-processing
minify for minifying CSS
go for compiling the Go APIs
make for making
Do this once, when starting with meta.sr.ht:
config.ini and configure
everything following the instructions in the comments.
When filling in the
config.ini file, remember the following:
these can be found in the core.sr.ht repository.
to the end of your Postgres URL.
Then, for each
To avoid conflicts with the
Note that core.sr.ht is not a service, but merely a repository of code shared between services.
For each service except meta.sr.ht:
config.example.ini into meta.sr.ht's
config.ini, modifying it according to the comments.
ln -s /path/to/meta.sr.ht/config.ini config.ini
createdb $SERVICE (e.g.
psql -d $SERVICE -f schema.sql (e.g.
psql -d meta.sr.ht -f schema.sql)
To run a service:
./api/api (must be run before the following command)
For the APIs to be able to talk to each other, you need to correctly register
each service as a client. You will find more instructions on the
meta.example.org/oauth page, as well as in the OAuth
Reference. After you have created
the OAuth clients, find each respective database entry in the
table, and set the
preauthorized column to
TRUE for each one.