services: pds: image: ghcr.io/bluesky-social/pds:latest restart: {{docker_restart_policy}} volumes: - pds_data:/pds - {{pdsadmin_file_path}}:/usr/local/bin/pdsadmin:ro environment: # Geben Sie hier Ihre Domain und Konfigurationsdetails an PDS_HOSTNAME: "{{domain_api}}" PDS_ADMIN_EMAIL: "{{administrator_email}}" 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' %} # Deactivated for the moment @see https://github.com/bluesky-social/social-app web: command: ["bskyweb","serve"] build: context: "{{ social_app_path }}" dockerfile: Dockerfile # It doesn't compile yet with this parameters. @todo Fix it 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/compose/volumes.yml.j2' %} pds_data: {% include 'templates/docker/compose/networks.yml.j2' %}