neodb-social / neodb

🧩 NeoDB is a self-hosted server tracking what you read/watch/listen/play, powering a global distributed community federating via ActivityPub.
https://neodb.net
GNU Affero General Public License v3.0
475 stars 32 forks source link

[Request] Please provide setup docs for non-docker environments #739

Open realkinetix opened 3 months ago

realkinetix commented 3 months ago

For a small instance that one might want to setup on a system that already has postgres, redis and everything else needed, it would be great to be able to run a neodb setup without having docker involved at all.

alphatownsman commented 1 month ago

It's possible to use docker to run neodb server but reuse existing psql/redis/typesense server with compose.override.yml, an example for your reference:

services:
  redis:
    profiles: ['disabled']
  typesense:
    profiles: ['disabled']
  neodb-db:
    profiles: ['disabled']
  takahe-db:
    profiles: ['disabled']
  migration:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  neodb-web:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
    healthcheck: !reset {}
  neodb-web-api:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
    healthcheck: !reset {}
  neodb-worker:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  neodb-worker-extra:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  takahe-web:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  takahe-stator:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  shell:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  root:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  dev-neodb-web:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  dev-neodb-worker:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  dev-takahe-web:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  dev-takahe-stator:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  dev-shell:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []
  dev-root:
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on: !reset []

I don't have time to write a comprehensive doc for this, but open for PR.

realkinetix commented 1 month ago

Close, but that still doesn't cover not having docker at all.

alphatownsman commented 1 month ago

The remaining portion of the service comprises six processes with intricate configurations. Significant code restructuring is necessary to simplify these configurations, which I am not prepared to undertake at this time.

realkinetix commented 1 month ago

Why would they need to be changed?