Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/nperez0111/bookhive. Track your books, share your shelves, see what others are reading bookhive.buzz
atproto bluesky books bookshelf goodreads management-system
Something went wrong. Try again.
bookhive compose.yaml
3.1 kB · 100 lines
YAML
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101# Comments are provided throughout this file to help you get started.# If you need more help, visit the Docker Compose reference guide at# https://docs.docker.com/go/compose-spec-reference/
# Here the instructions define your application as a service called "server".# This service is built from the Dockerfile in the current directory.# You can add other services your application may depend on here, such as a# database or a cache. For examples, see the Awesome Compose repository:# https://github.com/docker/awesome-compose# External Caddy config needed for bookhive.social:# bookhive.social, *.bookhive.social {# reverse_proxy pds:3000# }services: pds: image: ghcr.io/bluesky-social/pds restart: unless-stopped environment: PDS_HOSTNAME: "bookhive.social" PDS_ADMIN_PASSWORD: "CHANGE_ME_admin_password" PDS_JWT_SECRET: "CHANGE_ME_jwt_secret" PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX: "CHANGE_ME_rotation_key" PDS_INVITE_REQUIRED: "true" PDS_DATA_DIRECTORY: "/pds" PDS_BLOBSTORE_DISK_LOCATION: "/pds/blocks" PDS_EMAIL_SMTP_URL: "smtps://resend:re_CHANGE_ME@smtp.resend.com:465/" PDS_EMAIL_FROM_ADDRESS: "noreply@bookhive.social" PDS_RATE_LIMITS_ENABLED: "true" volumes: - pds_data:/pds healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000/xrpc/_health"] interval: 10s timeout: 5s retries: 5 openobserve: image: public.ecr.aws/zinclabs/openobserve:latest restart: unless-stopped environment: ZO_ROOT_USER_EMAIL: "user@bookhive.buzz" ZO_ROOT_USER_PASSWORD: "password" ports: - "5080:5080" volumes: - telem_data:/data otel-collector: image: otel/opentelemetry-collector-contrib:latest restart: unless-stopped volumes: - ./otel-collector-config.yaml:/etc/otelcol-contrib/config.yaml depends_on: - openobserve - server db: image: postgres:17 restart: always user: postgres secrets: - db-password volumes: - db-data:/var/lib/postgresql/data environment: POSTGRES_DB: bookhive POSTGRES_PASSWORD_FILE: /run/secrets/db-password expose: - 5432 healthcheck: test: ["CMD", "pg_isready"] interval: 10s timeout: 5s retries: 5 server: restart: unless-stopped build: context: . depends_on: pds: condition: service_healthy db: condition: service_healthy environment: NODE_ENV: "production" COOKIE_SECRET: "secret_password_do_not_use_this_please" DATABASE_URL: "postgres://postgres:CHANGE_ME_db_password@db:5432/bookhive" PUBLIC_URL: "https://bookhive.buzz" PDS_URL: "http://pds:3000" PDS_ADMIN_PASSWORD: "CHANGE_ME_admin_password" OPEN_OBSERVE_USER: "user@bookhive.buzz" OPEN_OBSERVE_PASSWORD: "password" OPEN_OBSERVE_URL: "http://localhost:5080" ports: - 8080:8080volumes: db-data: telem_data: pds_data:secrets: db-password: file: db/password.txt