aboutsummaryrefslogtreecommitdiffstats
path: root/installation.md
blob: 895de85d37c7aa734369b913ffac760436a6008d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
---
title: Installation
---

This document covers the installation steps common to all sr.ht services.

<div class="alert alert-success">
  If you would like to hack on or contribute to sr.ht, see the
  <a href="/hacking.md" class="alert-link">Hacking</a> page.
</div>

<div class="alert alert-warning">
  <strong>Warning:</strong> Currently, the only officially supported method for
  installing sr.ht software is through packages on Alpine Linux hosts.
</div>

sr.ht is a distributed system in which each service (e.g., git.sr.ht,
builds.sr.ht) runs independently with its own database and resources,
communicates with other services through their respective APIs and webhooks,
and is highly tolerant to the temporary or permanent absence of its peers.
This type of design allows you to choose and deploy any subset of services
depending on your needs, making it ideal for both large-scale deployments and
small-scale installations.

However, being distributed also means that the installation and deployment
process can become a bit more involving. In particular, many sr.ht services
have their own, unique requirements that necessitate extra installation steps.
As such, be sure to consult each service's installation page for more details:

- [builds.sr.ht](/builds.sr.ht/installation.md)
- [git.sr.ht](/git.sr.ht/installation.md)
- [hg.sr.ht](/hg.sr.ht/installation.md)
- [hub.sr.ht](/hub.sr.ht/installation.md)
- [lists.sr.ht](/lists.sr.ht/installation.md)
- [man.sr.ht](/man.sr.ht/installation.md)
- [meta.sr.ht](/meta.sr.ht/installation.md)
- [pages.sr.ht](/pages.sr.ht/installation.md)
- [paste.sr.ht](/paste.sr.ht/installation.md)
- [todo.sr.ht](/todo.sr.ht/installation.md)

# sr.ht-admins

If you are a sr.ht system administrator, we encourage you to subscribe to the
[sr.ht-admins](https://lists.sr.ht/~sircmpwn/sr.ht-admins) mailing list, a
low-volume list of sysadmin-oriented announcements regarding breaking changes,
security vulnerabilities, and so on.

# Prerequisites

Most sr.ht services require the following:

- A [PostgreSQL](https://www.postgresql.org/) server — persistent storage

- A [Redis](https://redis.io) server — ephemeral storage, caching, work
  distribution

- A mail server — incoming/outgoing mail

- A cron daemon — scheduled tasks

# Installing From Packages

1. Add the appropriate [SourceHut package repository](/packages.md) to your
   package manager.

2. Install your sr.ht services!

<div class="alert alert-info">
  <strong>Note:</strong> For any distribution-related issues, please contact
  the appropriate maintainers listed on the
  <a href="/packages.md" class="alert-link">Packages</a> page.
</div>

<div class="alert alert-info">
  <strong>Note:</strong> Packages ship with the correct users and groups set
  up, as well as the correct daemon configurations for your distribution's init
  system.
</div>

# Next Steps

After installing your sr.ht services, you'll need to configure them. For more
information, see the [Configuration](/configuration.md) page.