This document provides information for those interested in hacking on or contributing to SourceHut.
Here are some tips to expedite the installation procedure:
In addition to the runtime dependencies of our packages, building packages from source requires additional build-time dependencies:
sasscfor CSS pre-processing
npmfor minifying CSS
gofor compiling the Go APIs
Do this once, when starting with meta.sr.ht:
config.iniand configure everything following the instructions in the comments.
npm installin the
When filling in the
config.ini file, remember the following:
srht-keygen— these can be found in the core.sr.ht repository.
?sslmode=disableto 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.ini, modifying it according to the comments.
ln -s /path/to/meta.sr.ht/config.ini config.ini
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.