toeverything / AFFiNE

There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.
https://affine.pro
Other
43.05k stars 2.82k forks source link

​Now Affine destroy all of the reasons of self-hosted and Open-Source version #8763

Closed che0one closed 3 weeks ago

che0one commented 3 weeks ago

What happened?

If we want to use Note talking tool with Vendor Cloud Storage, Send Telemetry, Integrated AI and much more why a hell are we even bothering with self-hosted? Affine team with the little limitations ruins self-hosted variant..

Screenshot 2024-11-10 at 20 29 11

Distribution version

Web (app.affine.pro)

What browsers are you seeing the problem on if you're using web version?

No response

Are you self-hosting?

Relevant log output

No response

Anything else?

No response

mikes-bowden commented 3 weeks ago

You're not using a proxy with a valid SSL. Set up Nginx Proxy Manager and add an entry for this. When you use local IPs, you're not using SSL, and most browsers block persistent storage for non-secure sites.

I confirmed this. When I use my local IP:port, I get the error. However, when I use a FQDN with a valid SSL, the error disappears.

che0one commented 3 weeks ago

https://github.com/toeverything/AFFiNE/issues/8763#issuecomment-2466969856 I don't try any local variant only with reverse-proxy tried with NPM and Traefik doesn't help, is that problem maybe related with only docker image of Affine? Example docker-compose for Coolify, also have a similar compose for directly NPM with .env network and volume

services:
  affine:
    image: ghcr.io/toeverything/affine-graphql:stable
    command:
      - sh
      - '-c'
      - 'node ./scripts/self-host-predeploy && node ./dist/index.js'
    depends_on:
      redis:
        condition: service_healthy  
      postgres:
        condition: service_healthy
    volumes:
      - affine-config:/root/.affine/config
      - affine-storage:/root/.affine/storage
    logging:
      driver: json-file
      options:
        max-size: 1000m
    environment:
      - SERVICE_FQDN_AFFINE_3010
      - NODE_OPTIONS=--import=./scripts/register.js
      - AFFINE_CONFIG_PATH=/root/.affine/config
      - REDIS_SERVER_HOST=redis
      - DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-affine}
      - NODE_ENV=production
      - AFFINE_SERVER_HOST=${SERVICE_FQDN_AFFINE}
      - AFFINE_SERVER_EXTERNAL_URL=${SERVICE_FQDN_AFFINE}
      - MAILER_HOST=${MAILER_HOST}
      - MAILER_PORT=${MAILER_PORT}
      - MAILER_USER=${MAILER_USER}
      - MAILER_PASSWORD=${MAILER_PASSWORD}
      - MAILER_SENDER=${MAILER_SENDER}
    healthcheck:
      test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/3010' || exit 1"]
      interval: 5s
      timeout: 20s
      retries: 3
  redis:
    image: redis
    volumes:
      - affine-redis-data:/data
    healthcheck:
      test:
        - CMD
        - redis-cli
        - '--raw'
        - incr
        - ping
      interval: 10s
      timeout: 5s
      retries: 5
  postgres:
    image: postgres:16
    volumes:
      - affine-postgres-data:/var/lib/postgresql/data
    healthcheck:
      test:
        - CMD-SHELL
        - 'pg_isready -U affine'
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_USER=${SERVICE_USER_POSTGRES}
      - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
      - POSTGRES_DB=${POSTGRES_DB:-affine}
      - PGDATA=/var/lib/postgresql/data/pgdata
che0one commented 3 weeks ago

Only after syncing with Affine Cloud, I no longer receive any errors. However, this defeats the purpose of using a self-hosted solution. If I’m syncing with Affine Cloud, what’s the difference of using a self-hosted version instead of app.affine.pro? That makes absolutely no sense to use any self-hosted instance.

https://app.affine.pro vs self-hosted Privacy: Same AI: Same Sync: Same Functionality: Same Everything else: Same Except when i use app.affine.pro at least i don't paid for server to do the Same!

forehalo commented 3 weeks ago

if selfhosted instance is the same as app.affine.pro, why do we provide it with so many efforts?

is there any possibility that the cloud service you see on your instnace provided by your instance itself, not by app.affine.pro?

learn something before complain for no reason

JokerQyou commented 3 weeks ago

The "AFFiNE cloud" in selfhosted instance is provided with the backend server you deployed yourself, not AFFiNE.pro. It's just they use the same codebase so it is branded as "AFFiNE cloud". I get confused reading the selfhost documentation as well, but eventually figured it out after the deployment.

che0one commented 3 weeks ago

JokerQyou Thank you for the explanation. I checked, and yes it seems you are correct. The "Sync to Affine cloud" option is quite confusing for a self-hosted instance.