mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-01-22 07:03:21 +01:00
Added webinterface for bluesky
This commit is contained in:
parent
b330c22b39
commit
ea0804be93
@ -139,7 +139,8 @@ domain_akaunting: "accounting.{{top_domain}}"
|
|||||||
domain_attendize: "tickets.{{top_domain}}"
|
domain_attendize: "tickets.{{top_domain}}"
|
||||||
domain_baserow: "baserow.{{top_domain}}"
|
domain_baserow: "baserow.{{top_domain}}"
|
||||||
domain_bigbluebutton: "meet.{{top_domain}}"
|
domain_bigbluebutton: "meet.{{top_domain}}"
|
||||||
domain_bluesky: "bluesky.{{top_domain}}"
|
domain_bluesky_api: "bluesky.{{top_domain}}"
|
||||||
|
domain_bluesky_web: "bskyweb.{{top_domain}}"
|
||||||
domain_discourse: "forum.{{top_domain}}"
|
domain_discourse: "forum.{{top_domain}}"
|
||||||
domain_elk: "elk.{{top_domain}}"
|
domain_elk: "elk.{{top_domain}}"
|
||||||
domain_friendica: "friendica.{{top_domain}}"
|
domain_friendica: "friendica.{{top_domain}}"
|
||||||
|
@ -292,8 +292,10 @@
|
|||||||
roles:
|
roles:
|
||||||
- role: docker-bluesky
|
- role: docker-bluesky
|
||||||
vars:
|
vars:
|
||||||
domain: "{{domain_bluesky}}"
|
domain_api: "{{domain_bluesky_api}}"
|
||||||
http_port: 8030
|
domain_web: "{{domain_bluesky_web}}"
|
||||||
|
http_port_api: 8030
|
||||||
|
http_port_web: 8031
|
||||||
|
|
||||||
# Native Webserver Roles
|
# Native Webserver Roles
|
||||||
- name: setup nginx-static-repositorys
|
- name: setup nginx-static-repositorys
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
|
|
||||||
- name: docker compose up bigbluebutton
|
- name: docker compose up bigbluebutton
|
||||||
command:
|
command:
|
||||||
cmd: docker-compose -p bigbluebutton up -d --force-recreate
|
cmd: docker-compose -p bigbluebutton up -d --force-recreate --build
|
||||||
chdir: "{{docker_compose_instance_directory}}"
|
chdir: "{{docker_compose_instance_directory}}"
|
||||||
environment:
|
environment:
|
||||||
COMPOSE_HTTP_TIMEOUT: 600
|
COMPOSE_HTTP_TIMEOUT: 600
|
||||||
|
@ -17,6 +17,18 @@ openssl rand -base64 16
|
|||||||
### bluesky_database_password
|
### bluesky_database_password
|
||||||
openssl rand -base64 32
|
openssl rand -base64 32
|
||||||
|
|
||||||
|
## create user
|
||||||
|
```bash
|
||||||
|
curl -X POST https://your-pds-domain/xrpc/com.atproto.server.createAccount \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"email": "user@example.com",
|
||||||
|
"handle": "username",
|
||||||
|
"password": "securepassword123",
|
||||||
|
"inviteCode": "optional-invite-code"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
## more information
|
## more information
|
||||||
- https://therobbiedavis.com/selfhosting-bluesky-with-docker-and-swag/
|
- https://therobbiedavis.com/selfhosting-bluesky-with-docker-and-swag/
|
||||||
- https://cprimozic.net/notes/posts/notes-on-self-hosting-bluesky-pds-alongside-other-services/
|
- https://cprimozic.net/notes/posts/notes-on-self-hosting-bluesky-pds-alongside-other-services/
|
||||||
|
@ -2,13 +2,28 @@
|
|||||||
- name: "include docker/compose/database.yml"
|
- name: "include docker/compose/database.yml"
|
||||||
include_tasks: docker/compose/database.yml
|
include_tasks: docker/compose/database.yml
|
||||||
|
|
||||||
- name: "include tasks nginx-docker-proxy-domain.yml"
|
- name: "Include tasks for API domain"
|
||||||
include_tasks: nginx-docker-proxy-domain.yml
|
include_tasks: nginx-docker-proxy-domain.yml
|
||||||
|
vars:
|
||||||
|
domain: "{{ domain_api }}"
|
||||||
|
http_port: "{{ http_port_api }}"
|
||||||
|
|
||||||
|
- name: "Include tasks for Web domain"
|
||||||
|
include_tasks: nginx-docker-proxy-domain.yml
|
||||||
|
vars:
|
||||||
|
domain: "{{ domain_web }}"
|
||||||
|
http_port: "{{ http_port_web }}"
|
||||||
|
|
||||||
|
- name: clone social app repository
|
||||||
|
git:
|
||||||
|
repo: "https://github.com/bluesky-social/social-app.git"
|
||||||
|
dest: "{{social_app_path}}"
|
||||||
|
version: "main" # Optional: spezifischer Branch oder Tag
|
||||||
|
update: yes # Aktualisiert das Repo, falls es schon existiert
|
||||||
|
notify: docker compose project build and setup
|
||||||
|
|
||||||
- name: add docker-compose.yml
|
- name: add docker-compose.yml
|
||||||
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
|
template:
|
||||||
notify: docker compose project setup
|
src: docker-compose.yml.j2
|
||||||
|
dest: "{{docker_compose_instance_directory}}docker-compose.yml"
|
||||||
- name: configure run.env
|
notify: docker compose project build and setup
|
||||||
template: src=env.j2 dest={{docker_compose_instance_directory}}/env
|
|
||||||
notify: docker compose project setup
|
|
||||||
|
@ -6,12 +6,12 @@ services:
|
|||||||
- pds_data:/pds
|
- pds_data:/pds
|
||||||
environment:
|
environment:
|
||||||
# Geben Sie hier Ihre Domain und Konfigurationsdetails an
|
# Geben Sie hier Ihre Domain und Konfigurationsdetails an
|
||||||
PDS_HOSTNAME: "{{domain}}"
|
PDS_HOSTNAME: "{{domain_api}}"
|
||||||
PDS_ADMIN_EMAIL: "{{administrator_email}}"
|
PDS_ADMIN_EMAIL: "{{administrator_email}}"
|
||||||
PDS_DB__POSTGRES__URL: "postgres://{{ database_username }}:{{ database_password }}@{{ database_host }}:5432/{{ database_name }}"
|
PDS_DB__POSTGRES__URL: "postgres://{{ database_username }}:{{ database_password }}@{{ database_host }}:5432/{{ database_name }}"
|
||||||
PDS_SERVICE_DID: "did:web:{{ domain }}"
|
PDS_SERVICE_DID: "did:web:{{domain_api}}"
|
||||||
# See https://mattdyson.org/blog/2024/11/self-hosting-bluesky-pds/
|
# See https://mattdyson.org/blog/2024/11/self-hosting-bluesky-pds/
|
||||||
PDS_SERVICE_HANDLE_DOMAINS: ."{{domain}}"
|
PDS_SERVICE_HANDLE_DOMAINS: ".{{domain_api}}"
|
||||||
PDS_JWT_SECRET: "{{bluesky_pds_jwt_secret}}"
|
PDS_JWT_SECRET: "{{bluesky_pds_jwt_secret}}"
|
||||||
PDS_ADMIN_PASSWORD: "{{bluesky_pds_admin_password}}"
|
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_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX: "{{bluesky_pds_plc_rotation_key_k256_private_key_hex}}"
|
||||||
@ -29,7 +29,7 @@ services:
|
|||||||
# PDS_REPORT_SERVICE_URL=https://mod.bsky.app
|
# PDS_REPORT_SERVICE_URL=https://mod.bsky.app
|
||||||
# PDS_REPORT_SERVICE_DID=did:plc:ar7c4by46qjdydhdevvrndac
|
# PDS_REPORT_SERVICE_DID=did:plc:ar7c4by46qjdydhdevvrndac
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:{{http_port}}:3000"
|
- "127.0.0.1:{{http_port_api}}:3000"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "--spider", "http://127.0.0.1:3000"]
|
test: ["CMD", "wget", "--spider", "http://127.0.0.1:3000"]
|
||||||
interval: 1m
|
interval: 1m
|
||||||
@ -39,19 +39,28 @@ services:
|
|||||||
{% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
|
{% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
|
||||||
|
|
||||||
# Deactivated for the moment @see https://github.com/bluesky-social/social-app
|
# Deactivated for the moment @see https://github.com/bluesky-social/social-app
|
||||||
# bluesky-app:
|
web:
|
||||||
# image: ghcr.io/bluesky-social/app:latest # Beispiel-App-Image
|
command: ["bskyweb","serve"]
|
||||||
# restart: always
|
build:
|
||||||
# ports:
|
context: "{{ social_app_path }}"
|
||||||
# - "8080:8080"
|
dockerfile: Dockerfile # Standard-Dockerfile im Repository
|
||||||
# environment:
|
args:
|
||||||
# # Verbindung zur PDS-Instanz
|
REACT_APP_PDS_URL: "http://{{domain_api}}" # URL des PDS
|
||||||
# REACT_APP_PDS_URL: "http://application:3000" # URL des PDS
|
REACT_APP_API_URL: "http://{{domain_api}}" # API-URL des PDS
|
||||||
# REACT_APP_API_URL: "http://application:3000" # API-URL des PDS
|
REACT_APP_SITE_NAME: "{{top_domain | upper}} - Bluesky"
|
||||||
# REACT_APP_SITE_NAME: "Bluesky"
|
REACT_APP_SITE_DESCRIPTION: "Decentral Social "
|
||||||
# REACT_APP_SITE_DESCRIPTION: "Dezentrales Soziales Netzwerk"
|
restart: {{docker_restart_policy}}
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:{{http_port_web}}:8100"
|
||||||
|
# Start already parallel to pds
|
||||||
#depends_on:
|
#depends_on:
|
||||||
# - application
|
# - 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/services/' + database_type + '.yml.j2' %}
|
||||||
|
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
PDS_HOSTNAME= {{domain}}
|
|
||||||
PDS_JWT_SECRET= #openssl rand --hex 16
|
|
||||||
PDS_ADMIN_PASSWORD= #openssl rand --hex 16
|
|
||||||
PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX= #openssl ecparam --name secp256k1 --genkey --noout --outform DER | tail --bytes=+8 | head --bytes=32 | xxd --plain --cols 32
|
|
||||||
PDS_EMAIL_SMTP_URL= #smtp://username@gmail.com:password@smtp.gmail.com:587
|
|
||||||
PDS_EMAIL_FROM_ADDRESS= {{administrator_email}}
|
|
||||||
PDS_MODERATION_EMAIL_SMTP_URL= #smtp://username@gmail.com:password@smtp.gmail.com:587
|
|
||||||
PDS_MODERATION_EMAIL_ADDRESS= {{administrator_email}}
|
|
||||||
PDS_DATA_DIRECTORY=/pds
|
|
||||||
PDS_BLOBSTORE_DISK_LOCATION=/pds/blocks
|
|
||||||
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
|
|
||||||
PDS_CRAWLERS=https://bsky.network
|
|
||||||
LOG_ENABLED=true
|
|
@ -1,3 +1,4 @@
|
|||||||
docker_compose_project_name: "bluesky"
|
docker_compose_project_name: "bluesky"
|
||||||
database_password: "{{bluesky_database_password}}"
|
database_password: "{{bluesky_database_password}}"
|
||||||
database_type: "postgres"
|
database_type: "postgres"
|
||||||
|
social_app_path: "{{ docker_compose_instance_directory }}/social-app"
|
@ -8,6 +8,7 @@
|
|||||||
# listen: docker compose project setup
|
# listen: docker compose project setup
|
||||||
# when: mode_reset | bool
|
# when: mode_reset | bool
|
||||||
|
|
||||||
|
# default setup for docker compose files
|
||||||
- name: docker compose project setup
|
- name: docker compose project setup
|
||||||
command:
|
command:
|
||||||
cmd: docker-compose -p "{{docker_compose_project_name}}" up -d --force-recreate
|
cmd: docker-compose -p "{{docker_compose_project_name}}" up -d --force-recreate
|
||||||
@ -16,3 +17,14 @@
|
|||||||
COMPOSE_HTTP_TIMEOUT: 600
|
COMPOSE_HTTP_TIMEOUT: 600
|
||||||
DOCKER_CLIENT_TIMEOUT: 600
|
DOCKER_CLIENT_TIMEOUT: 600
|
||||||
listen: docker compose project setup
|
listen: docker compose project setup
|
||||||
|
|
||||||
|
# it's necessary to rebuild when a build in the docker compose files is defined
|
||||||
|
# for performance reasons it's not recommended to use this if there is no build tag specified
|
||||||
|
- name: docker compose project build and setup
|
||||||
|
command:
|
||||||
|
cmd: docker-compose -p "{{docker_compose_project_name}}" up -d --force-recreate --build
|
||||||
|
chdir: "{{docker_compose_instance_directory}}"
|
||||||
|
environment:
|
||||||
|
COMPOSE_HTTP_TIMEOUT: 600
|
||||||
|
DOCKER_CLIENT_TIMEOUT: 600
|
||||||
|
listen: docker compose project setup
|
||||||
|
Loading…
x
Reference in New Issue
Block a user