Correct Aphlict websocket URI construction after PHP8 compatibility changes
[phabricator.git] / src / docs / user / userguide / diffusion.diviner
blob8ee66d3f8fad8c55c0636780b4cd9061aec1242d
1 @title Diffusion User Guide
2 @group userguide
4 Guide to Diffusion, the Phabricator application for hosting and browsing
5 repositories.
7 Overview
8 ========
10 Diffusion allows you to create repositories so that you can browse them from
11 the web and interact with them from other applications.
13 Diffusion can host repositories locally, or observe existing remote
14 repositories which are hosted elsewhere (for example, on GitHub, Bitbucket, or
15 other existing hosting). Both types of repositories can be browsed and
16 interacted with, but hosted repositories support some additional triggers
17 and access controls which are not available for observed repositories.
19 Diffusion is integrated with the other tools in the Phabricator suite. For
20 instance:
22   - when you commit Differential revisions to a tracked repository, they are
23     automatically updated and linked to the corresponding commits;
24   - you can add Herald rules to notify you about commits that match certain
25     rules;
26   - for hosted repositories, Herald can enforce granular access control rules;
27   - in all the tools, commit names are automatically linked.
29 The remainder of this document walks through creating, configuring, and
30 managing repositories.
33 Adding Repositories
34 ===================
36 Repository administration is accomplished through Diffusion. You can use the
37 web interface in Diffusion to observe an external repository or create a new
38 hosted repository.
40   - For hosted repositories, make sure you go through the setup instructions
41     in @{article:Diffusion User Guide: Repository Hosting} first.
42   - For all repositories, you'll need to be running the daemons. If you have
43     not set them up yet, see @{article:Managing Daemons with phd}.
45 By default, you must be an administrator to create a new repository. You can
46 change this in the application settings.
49 Managing Repositories
50 =====================
52 Diffusion repositories have an array of configurable options and behaviors. For
53 details on the available options and guidance on managing and administrating
54 repositories, see @{article:Diffusion User Guide: Managing Repositories}.
56 Repositories can also be managed via the API. For an overview on using the
57 API to create and edit repositories, see
58 @{article:Diffusion User Guide: Repositories API}.
61 Repository Clustering
62 =====================
64 Phabricator repository hosts can be set up in a cluster configuration so you
65 can lose hosts with minimal downtime and data loss. This is an advanced feature
66 which most installs do not need to pursue.
68 To get started with clustering, see @{article:Clustering Introduction}. For
69 details on repository clustering, see @{article:Cluster: Repositories}.
72 Next Steps
73 ==========
75 Continue by:
77   - learning how to creating a symbol index at
78     @{article:Diffusion User Guide: Symbol Indexes}; or
79   - setting up repository hosting with
80     @{article:Diffusion User Guide: Repository Hosting}; or
81   - managing repository hooks with
82     @{article:Diffusion User Guide: Commit Hooks}; or
83   - understanding daemons in more detail with
84     @{article:Managing Daemons with phd}.
86 If you're having trouble getting things working, these topic guides may be
87 helpful:
89   - get details about automatically taking actions in response to commits in
90     @{article:Diffusion User Guide: Permanent Refs}; or
91   - understand how Phabricator updates repositories with
92     @{article:Diffusion User Guide: Repository Updates}; or
93   - fix issues with repository imports with
94     @{article:Troubleshooting Repository Imports}.