70 lines
2.9 KiB
Django/Jinja

services:
pds:
image: ghcr.io/bluesky-social/pds:0.4
restart: {{docker_restart_policy}}
volumes:
- pds_data:/pds
environment:
# Geben Sie hier Ihre Domain und Konfigurationsdetails an
PDS_HOSTNAME: "{{domain_api}}"
PDS_ADMIN_EMAIL: "{{administrator_email}}"
PDS_DB__POSTGRES__URL: "postgres://{{ database_username }}:{{ database_password }}@{{ database_host }}:5432/{{ database_name }}"
PDS_SERVICE_DID: "did:web:{{domain_api}}"
# See https://mattdyson.org/blog/2024/11/self-hosting-bluesky-pds/
PDS_SERVICE_HANDLE_DOMAINS: ".{{top_domain}}"
PDS_JWT_SECRET: "{{bluesky_pds_jwt_secret}}"
PDS_ADMIN_PASSWORD: "{{bluesky_pds_admin_password}}"
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX: "{{bluesky_pds_plc_rotation_key_k256_private_key_hex}}"
PDS_CRAWLERS: https://bsky.network
PDS_EMAIL_SMTP_URL: smtps://{{system_email_username}}:{{system_email_password}}@{{system_email_host}}:{{system_email_smtp_port}}/
PDS_EMAIL_FROM_ADDRESS: {{system_email_from}}
LOG_ENABLED: true
PDS_BLOBSTORE_DISK_LOCATION: /opt/pds/blocks
# -- DEFAULT VALUES ---
# PDS_DATA_DIRECTORY: /opt/pds
# PDS_BLOB_UPLOAD_LIMIT: 52428800
# PDS_DID_PLC_URL=https://plc.directory
# PDS_BSKY_APP_VIEW_URL=https://api.bsky.app
# PDS_BSKY_APP_VIEW_DID=did:web:api.bsky.app
# PDS_REPORT_SERVICE_URL=https://mod.bsky.app
# PDS_REPORT_SERVICE_DID=did:plc:ar7c4by46qjdydhdevvrndac
ports:
- "127.0.0.1:{{http_port_api}}:3000"
healthcheck:
test: ["CMD", "wget", "--spider", "http://127.0.0.1:3000/xrpc/_health"]
interval: 1m
timeout: 10s
retries: 3
{% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
# Deactivated for the moment @see https://github.com/bluesky-social/social-app
web:
command: ["bskyweb","serve"]
build:
context: "{{ social_app_path }}"
dockerfile: Dockerfile # Standard-Dockerfile im Repository
args:
REACT_APP_PDS_URL: "http://{{domain_api}}" # URL des PDS
REACT_APP_API_URL: "http://{{domain_api}}" # API-URL des PDS
REACT_APP_SITE_NAME: "{{top_domain | upper}} - Bluesky"
REACT_APP_SITE_DESCRIPTION: "Decentral Social "
restart: {{docker_restart_policy}}
ports:
- "127.0.0.1:{{http_port_web}}:8100"
# Start already parallel to pds
#depends_on:
# - None
healthcheck:
test: ["CMD", "sh", "-c", "for pid in $(ls /proc | grep -E '^[0-9]+$'); do if cat /proc/$pid/cmdline 2>/dev/null | grep -q 'bskywebserve'; then exit 0; fi; done; exit 1"]
interval: 30s
timeout: 10s
retries: 3
{% include 'templates/docker/services/' + database_type + '.yml.j2' %}
{% include 'templates/docker/compose/volumes.yml.j2' %}
pds_data:
{% include 'templates/docker/compose/networks.yml.j2' %}