2025-01-18 20:25:04 +00:00
|
|
|
---
|
|
|
|
title: bluesky-pds
|
|
|
|
draft: false
|
|
|
|
date: 2025-01-18
|
|
|
|
---
|
|
|
|
|
2025-01-18 19:42:18 +00:00
|
|
|
```yaml title="docker-compose.yml"
|
|
|
|
# Traefik Proxy
|
|
|
|
services:
|
|
|
|
bluesky-pds:
|
|
|
|
container_name: bluesky-pds
|
2025-01-18 19:47:22 +00:00
|
|
|
image: code.modernleft.org/gravityfargo/bluesky-pds:latest
|
2025-01-18 19:42:18 +00:00
|
|
|
hostname: example.com
|
|
|
|
extra_hosts:
|
|
|
|
- "example.com:0.0.0.0" # domain:external_ip
|
|
|
|
networks:
|
|
|
|
- proxy
|
|
|
|
environment:
|
|
|
|
# Define variables here or in a .env file
|
|
|
|
PDS_JWT_SECRET: ...
|
|
|
|
PDS_ADMIN_PASSWORD: ...
|
|
|
|
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX: ...
|
|
|
|
PDS_HOSTNAME: example.com
|
|
|
|
PDS_EMAIL_SMTP_URL: smtps://resend:<your api key here>@smtp.resend.com:465/
|
|
|
|
PDS_EMAIL_FROM_ADDRESS: admin@your.domain
|
|
|
|
PUID: 1000
|
|
|
|
PGID: 1001
|
|
|
|
volumes:
|
|
|
|
- ./bluesky-pds:/pds
|
|
|
|
labels:
|
|
|
|
traefik.enable: "true"
|
|
|
|
traefik.http.routers.bluesky-pds-insecure.entrypoints: http
|
|
|
|
traefik.http.routers.bluesky-pds-insecure.rule: HostRegexp(`^.+\.${URL_NAME}\.${URL_SUFFIX}$`) || Host(`${PDS_HOSTNAME}`)
|
|
|
|
# traefik.http.routers.bluesky-pds-insecure.middlewares: BlueskyHeaders@file
|
|
|
|
traefik.http.routers.bluesky-pds-secure.entrypoints: https
|
|
|
|
traefik.http.routers.bluesky-pds-secure.rule: HostRegexp(`^.+\.${URL_NAME}\.${URL_SUFFIX}$`) || Host(`${PDS_HOSTNAME}`)
|
|
|
|
traefik.http.routers.bluesky-pds-secure.tls: "true"
|
|
|
|
traefik.http.services.bluesky-pds.loadbalancer.server.scheme: http
|
|
|
|
traefik.http.services.bluesky-pds.loadbalancer.server.port: 3000
|
|
|
|
# traefik.http.routers.bluesky-pds-secure.middlewares: BlueskyHeaders@file
|
|
|
|
```
|