···27272828### Launch your server
29293030-Launch a server on any cloud provider, for example [Digital Ocean](https://digitalocean.com/) and [Vultr](https://vultr.com/) are two popular choices.
3131-3030+Launch a server on any cloud provider, [Digital Ocean](https://digitalocean.com/) and [Vultr](https://vultr.com/) are two popular choices.
32313333-**Requirements**
3434-* Public internet access
3232+**Server Requirements**
3533* Public IPv4 address
3636-* Public access on ports 80/tcp and 443/tcp
3434+* Public DNS name
3535+* Public internet access permitted on port 80/tcp and 443/tcp
37363838-**Recommendations**
3737+**Server Recommendations**
3938| | |
4039| ---------------- | ---------------- |
4140| Operating System | Ubuntu 22.04 LTS |
···46454746### Install your server
48474949-Install your Ubuntu 22.04 server, and then ensure that you can ssh to it. It is recommended that you only allow port 22 (ssh) traffic from your own public IP address. You can check your current public IP address using [ifconfig.me](https://ifconfig.me/).
4848+Install your Ubuntu 22.04 server, and then ensure that you can ssh to it.
4949+5050+**NOTE:** It is a good security practice to restrict inbound ssh access (port 22/tcp) to your own computer's public IP address. You can check your current public IP address using [ifconfig.me](https://ifconfig.me/).
50515152### Open your firewall
52535354One of the most common sources of misconfiguration is not opening firewall ports correctly. Please be sure to double check this step.
54555555-It may be helpful to use a remote [port scanning](https://dnschecker.org/port-scanner.php) service to verify that access is permitted.
5656+It may be helpful to use a remote [port scanning](https://dnschecker.org/port-scanner.php) service to verify that access is permitted. Once your server is fully configured, this service should display the ports as open.
56575757-#### Open ports on your cloud and local firewalls
5858+#### Open ports on your cloud provider's firewall
58595960In your cloud provider's console, the following ports should be open to access from the public internet.
60616162* 80/tcp (Used only for TLS certification verification)
6263* 443/tcp (Used for all application requests)
63646464-#### Open ports using ufw
6565+#### Open ports on your Linux firewall
65666666-If your VM is running a Linux firewall managed with `ufw`, you will also need to open these same ports on your VM itself.
6767+If your server is running a Linux firewall managed with `ufw`, you will also need to open these same ports on the server itself.
67686869```bash
6970$ sudo ufw allow 80/tcp
···141142curl https://raw.githubusercontent.com/bluesky-social/pds/main/sqlite-compose.yaml >compose.yaml
142143```
143144144144-Download the `postgres-compose.yaml` to run your PDS with a remote PostgreSQL database.
145145+Or, download the `postgres-compose.yaml` to run your PDS with a remote PostgreSQL database.
145146146147```bash
147148curl https://raw.githubusercontent.com/bluesky-social/pds/main/postgres-compose.yaml >compose.yaml
···1911921. Download the Bluesky app
1921931. Enter the URL of your PDS (e.g. `https://example.com/`)
1931941. Create an account
194194-195195-