diff options
author | Conrad Hoffmann <ch@bitfehler.net> | 2022-05-04 10:49:11 +0200 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2022-05-11 13:08:22 +0200 |
commit | e50d55e6de84fb07e17169d7f885a3ba394f6540 (patch) | |
tree | 87289dfb1cba2418267ffc3d0122c73100f7d4e4 | |
parent | c5062e41b1c0b75394a07474d5ee7122c2d205eb (diff) | |
download | sr.ht-docs-e50d55e6de84fb07e17169d7f885a3ba394f6540.tar.gz |
Start documenting dev environment setup
Add some generic setup instructions. Now that most services follow a
fixed pattern, these should cover 90% of use-cases.
-rw-r--r-- | hacking.md | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -11,12 +11,51 @@ contributing to SourceHut. Here are some tips to expedite the installation procedure: * A PostgreSQL database and Redis server are always required. +* Some services require (or may optionally make use of) an S3-compatible + storage backend. Minio is recommended for this purpose. * Generally, you can skip the webhooks daemons unless you need them. * Always prefer package installations for obtaining dependencies. * You can *usually* get away without configuring the outgoing mail settings, but you may still have to generate a PGP key to get things started up. * You can skip setting up a reverse proxy and use our development servers via `python3 run.py` instead. +* Some services depend on other services. Some such integrations are optional, + but all services depend on meta.sr.ht. + +## Dev dependencies + +In addition to the runtime dependencies of our packages, building +packages from source requires additional build-time dependencies: + +* `sassc` for CSS pre-processing +* `npm` for minifying CSS +* `go` for compiling the Go APIs + +## Generic instructions + +Do this once, when starting with meta.sr.ht: + +* In addition to meta.sr.ht, check out + [core.sr.ht](https://git.sr.ht/~sircmpwn/core.sr.ht) +* Copy meta.sr.ht's `config.example.ini` to `config.ini` and configure + everything following the instructions in the comments. + +Then, for each `SERVICE`: + +* `export SRHT_PATH=/path/to/core.sr.ht/srht` +* `export PYTHONPATH=/path/to/core.sr.ht:/path/to/$SERVICE` +* `make all` + +For each service *except* meta.sr.ht: + +* Copy the service's section(s) from its `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` + +To run a service: + +* `./api/api` +* `python run.py` # Sending Patches |