Mirror from bluesky-social/pds

add a TOC and fix heading hierachy

+36 -17
+36 -17
README.md
··· 2 2 3 3 Welcome to the repository for the official Bluesky PDS (Personal Data Server). This repository includes container images and documentation designed to assist technical people with self-hosting a Bluesky PDS. 4 4 5 + ## Table of Contents 6 + 7 + * [PDS](#pds) 8 + * [FAQ](#faq) 9 + * [What is Bluesky?](#what-is-bluesky) 10 + * [What is AT Protocol?](#what-is-at-protocol) 11 + * [Where is the code?](#where-is-the-code) 12 + * [What is the current status of federation?](#what-is-the-current-status-of-federation) 13 + * [What should I know about running a PDS in the developer sandbox?](#what-should-i-know-about-running-a-pds-in-the-developer-sandbox) 14 + * [Self\-hosting PDS](#self-hosting-pds) 15 + * [Preparation for self\-hosting PDS](#preparation-for-self-hosting-pds) 16 + * [Open your cloud firewall for HTTP and HTTPS](#open-your-cloud-firewall-for-http-and-https) 17 + * [Configure DNS for your domain](#configure-dns-for-your-domain) 18 + * [Check that DNS is working as expected](#check-that-dns-is-working-as-expected) 19 + * [Automatic install on Ubuntu 20\.04/22\.04 or Debian 11/12](#automatic-install-on-ubuntu-20042204-or-debian-1112) 20 + * [Installing manually on Ubuntu 22\.04](#installing-manually-on-ubuntu-2204) 21 + * [PDS environment variables](#pds-environment-variables) 22 + 23 + 5 24 ## FAQ 6 25 7 26 ### What is Bluesky? ··· 93 112 94 113 These should all return your server's public IP. 95 114 96 - ## Automatic install on Ubuntu 20.04/22.04 or Debian 11/12 115 + ### Automatic install on Ubuntu 20.04/22.04 or Debian 11/12 97 116 98 117 On your server via ssh, run the installer script: 99 118 ··· 105 124 sudo bash installer.sh 106 125 ``` 107 126 108 - ## Installing manually on Ubuntu 22.04 127 + ### Installing manually on Ubuntu 22.04 109 128 110 - ### Open ports on your Linux firewall 129 + #### Open ports on your Linux firewall 111 130 112 131 If your server is running a Linux firewall managed with `ufw`, you will need to open these ports: 113 132 ··· 116 135 $ sudo ufw allow 443/tcp 117 136 ``` 118 137 119 - ### Install Docker 138 + #### Install Docker 120 139 121 140 On your server, install Docker CE (Community Edition), using the the following instructions. For other operating systems you may reference the [official Docker install guides](https://docs.docker.com/engine/install/). 122 141 123 142 **Note:** All of the following commands should be run on your server via ssh. 124 143 125 - #### Uninstall old versions 144 + ##### Uninstall old versions 126 145 127 146 ```bash 128 147 sudo apt-get remove docker docker-engine docker.io containerd runc 129 148 ``` 130 149 131 - #### Set up the repository 150 + ##### Set up the repository 132 151 133 152 ```bash 134 153 sudo apt-get update ··· 151 170 sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 152 171 ``` 153 172 154 - #### Install Docker Engine 173 + ##### Install Docker Engine 155 174 156 175 ```bash 157 176 sudo apt-get update ··· 161 180 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 162 181 ``` 163 182 164 - #### Verify Docker Engine installation 183 + ##### Verify Docker Engine installation 165 184 166 185 ```bash 167 186 sudo docker run hello-world 168 187 ``` 169 188 170 - ### Set up the PDS directory 189 + #### Set up the PDS directory 171 190 172 191 ```bash 173 192 sudo mkdir /pds ··· 175 194 sudo mkdir --parents /pds/caddy/etc/caddy 176 195 ``` 177 196 178 - ### Create the Caddyfile 197 + #### Create the Caddyfile 179 198 180 199 Be sure to replace `example.com` with your own domain. 181 200 ··· 194 213 CADDYFILE 195 214 ``` 196 215 197 - ### Create the PDS env configuration file 216 + #### Create the PDS env configuration file 198 217 199 218 You should fill in the first 5 values, but leave the rest untouched unless you have good reason to change it. 200 219 ··· 227 246 PDS_CONFIG 228 247 ``` 229 248 230 - ### Start the PDS containers 249 + #### Start the PDS containers 231 250 232 - #### Download the Docker compose file 251 + ##### Download the Docker compose file 233 252 234 253 Download the `compose.yaml` to run your PDS, which includes the following containers: 235 254 ··· 241 260 curl https://raw.githubusercontent.com/bluesky-social/pds/main/compose.yaml | sudo tee /pds/compose.yaml 242 261 ``` 243 262 244 - #### Create the systemd service 263 + ##### Create the systemd service 245 264 246 265 ```bash 247 266 cat <<SYSTEMD_UNIT_FILE >/etc/systemd/system/pds.service ··· 263 282 SYSTEMD_UNIT_FILE 264 283 ``` 265 284 266 - #### Start the service 285 + ##### Start the service 267 286 268 287 ```bash 269 288 sudo systemctl daemon-reload ··· 285 304 sudo docker ps 286 305 ``` 287 306 288 - ### Verify your PDS is online 307 + #### Verify your PDS is online 289 308 290 309 You can check if your server is online and healthy by requesting the healthcheck endpoint. 291 310 ··· 294 313 {"version":"0.2.2-beta.2"} 295 314 ``` 296 315 297 - ### Connecting to your server 316 + #### Connecting to your server 298 317 299 318 You can use the Bluesky app to connect to your server to create an account. 300 319