---
title: "Deploy Bluesky PDS"
description: "Host your own Bluesky Personal Data Server (PDS) "
category: "Other"
url: https://railway.com/deploy/5smPt1
---

# Deploy Bluesky PDS

Host your own Bluesky Personal Data Server (PDS) 

**[Deploy Bluesky PDS on Railway](https://railway.com/template/5smPt1)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/5smPt1/manifest.json

- **Creator:** Bizroc's Projects
- **Category:** Other
- **Total deploys:** 4

## Template content

### bluesky-social/pds:latest

- **Image:** ghcr.io/bluesky-social/pds:latest
- **Public domain:** Yes

## Documentation

# Bluesky PDS Deployment Instructions

Deploy your own Bluesky Personal Data Server (PDS) with this template to gain full control over your AT Protocol identity and data. After deployment:

1. **Configure your domain**: Point your custom domain to the Railway-provided URL in your DNS settings.

2. **Create your admin account**: Visit `https://your-domain.com/admin` and log in with the admin password you set during deployment.

3. **Set up your identity**: Create your first user account through the admin panel or API.

4. **Connect to the network**: Your PDS will automatically connect to the Bluesky network using the default AppView service.

5. **Invite users** (optional): If you enabled invite requirements, generate and share invite codes through the admin panel.

Your PDS stores all data in the mounted volume, ensuring persistence across deployments. For advanced configuration options, refer to the [official Bluesky PDS documentation](https://github.com/bluesky-social/pds).

Note: Running a PDS requires consistent uptime and occasional updates to stay compatible with the network. Railway's managed platform handles the infrastructure, allowing you to focus on your Bluesky community.

## Configure DNS for your domain

From your DNS provider's control panel, set up a domain with records pointing to your server.

| Name | Type | Value | TTL |
|------|------|-------|-----|
| example.com | A | 12.34.56.78 | 600 |
| *.example.com | A | 12.34.56.78 | 600 |

Note:

- Replace `example.com` with your domain name.
- Replace `12.34.56.78` with your server's IP address.
- Some providers may use the `@` symbol to represent the root of your domain.
- The wildcard record is required when allowing users to create new accounts on your PDS.
- The TTL can be anything but 600 (10 minutes) is reasonable.

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/5smPt1
