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.6 kB · 110 lines
YAML
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111# 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 server: restart: unless-stopped build: context: . depends_on: pds: condition: service_healthy environment: NODE_ENV: "production" COOKIE_SECRET: "secret_password_do_not_use_this_please" DB_PATH: "/data/db.sqlite" KV_DB_PATH: "/data/kv.sqlite" 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:8080 volumes: - data:/data# The commented out section below is an example of how to define a PostgreSQL# database that your application can use. `depends_on` tells Docker Compose to# start the database before your application. The `db-data` volume persists the# database data between container restarts. The `db-password` secret is used# to set the database password. You must create `db/password.txt` and add# a password of your choosing to it before running `docker-compose up`.# depends_on:# db:# condition: service_healthy# db:# image: postgres# restart: always# user: postgres# secrets:# - db-password# volumes:# - db-data:/var/lib/postgresql/data# environment:# - POSTGRES_DB=example# - POSTGRES_PASSWORD_FILE=/run/secrets/db-password# expose:# - 5432# healthcheck:# test: [ "CMD", "pg_isready" ]# interval: 10s# timeout: 5s# retries: 5volumes: data: telem_data: pds_data:# secrets:# db-password:# file: db/password.txt