···20213. Configure and start the PDS service. See pds/README.md
2223-4. Configure and start the DNS service. See dns/README.md
2425-5. Configure split-DNS in Tailscale.
002627 1. Visit https://tailscale.com/
28 2. Go to the Machines tab and get the internal IP address of `didadmin`
···3637* PLC - https://plc.internal.ts.net
38* PDS - https://pds.internal.ts.net
039* DNS - didadmin.internal.ts.net:53
40* didadmin - https://didadmin.internal.ts.net
41* maildev - http://pds.internal.ts.net:1080
···20213. Configure and start the PDS service. See pds/README.md
2223+4. Configure and start the Jetstream service. See jetstream/README.md
2425+5. Configure and start the DNS service. See dns/README.md
26+27+6. Configure split-DNS in Tailscale.
2829 1. Visit https://tailscale.com/
30 2. Go to the Machines tab and get the internal IP address of `didadmin`
···3839* PLC - https://plc.internal.ts.net
40* PDS - https://pds.internal.ts.net
41+* Jetstream - https://jetstream.internal.ts.net
42* DNS - didadmin.internal.ts.net:53
43* didadmin - https://didadmin.internal.ts.net
44* maildev - http://pds.internal.ts.net:1080
···1+# PDS
2+3+## Configuration
4+5+This is a fully operational Jetstream and needs appropriate configuration.
6+7+Copy the `env.example` file to `env` and update the following entry "PLACEHOLDER" values.
8+9+* `PDS_HOSTNAME` value updated to relflect your internal tailnet
10+11+Copy `docker-compose.example.yml` to `docker-compose.yml` and make the following changes:
12+13+* Optional, set the `TS_AUTHKEY` if you are using one.
14+15+## Jetstream Container
16+17+You will need a built jetstream container.
18+19+1. Clone the jetstream project:
20+21+ `git clone https://github.com/bluesky-social/jetstream.git`
22+23+2. Build and tag the container:
24+25+ `docker build -t jetstream .`
26+27+## Operation
28+29+1. Create the configuration file and update it accordingly.
30+31+2. Bring networking up.
32+33+ `docker compose up tailscale -d`
34+35+ If you are using dynamic machine authentication, you'll need to view the logs and click on the link.
36+37+ `docker compose logs tailscale`
38+39+3. Generate an SSL certificate for the node. Be sure to change `internal.ts.net` to whatever your Tailnet name is (i.e. `sneaky-fox.ts.net`)
40+41+ `docker compose exec tailscale /bin/sh -c "tailscale cert --cert-file /mnt/tls/cert.pem --key-file /mnt/tls/cert.key jetstream.internal.ts.net"`
42+43+4. Bring the app and proxy up.
44+45+ `docker compose up -d`
46+47+## Usage
48+49+Jetstream will be available at https://jetstream.internal.ts.net/.
50+51+Test with `websocat wss://jetstream.internal.ts.net/subscribe`