Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Couldn't save to backend database, backend storage cant be accessed #38

Open
Anilo1990 opened this issue Nov 23, 2023 · 18 comments
Open
Labels
support Support user's cases(community driven)

Comments

@Anilo1990
Copy link

I always get this Error in collab mode. This is my docker-compose which I deploy in Portainer

services:
  frontend:
    image: alswl/excalidraw:v0.17.0-fork-b1
    environment:
      - PORT=8081
      - VITE_APP_BACKEND_V2_GET_URL=https://test.com/api/v2/
      - VITE_APP_BACKEND_V2_POST_URL=https://test.com/api/v2/post/
      - VITE_APP_WS_SERVER_URL=http://127.0.0.1:8082
      - VITE_APP_FIREBASE_CONFIG={}
      # alswl'fork env
      # forked excalidraw can use env https://github.com/alswl/excalidraw/pull/5
      - VITE_APP_HTTP_STORAGE_BACKEND_URL=http://127.0.0.1:8081/api/v2
      - VITE_APP_STORAGE_BACKEND=http
    ports:
      - 18912:80
    networks:
     - excalidraw

  storage:
    image: alswl/excalidraw-storage-backend:v2023.11.11
    restart: always
    environment: # docs https://github.com/alswl/excalidraw-storage-backend#environement-variables
      - PORT=8081
    ports:
      - 8081:8081
    networks:
     - excalidraw

  room:
    image: excalidraw/excalidraw-room:sha-49bf529
    ports:
     - 8082:80
    networks:
     - excalidraw

networks:
 excalidraw:
  name: excalidraw
  external: true

When I check the log for StorageBackend there is a warning

WARN [StorageService] STORAGE_URI is undefined, will use non persistant in memory storage

I tried serveral things to integrate the STORAGE_URI into the docker-compose but it's not working. Here someone had the same issue and he has redis in his docker-compose. I tried this but it's not working for me or I did something wrong.

Any idea how I can solve this?

@alswl
Copy link
Owner

alswl commented Nov 23, 2023

services:
  frontend:
    image: alswl/excalidraw:v0.17.0-fork-b1
    environment:
      - PORT=8081
      - VITE_APP_BACKEND_V2_GET_URL=https://test.com/api/v2/
      - VITE_APP_BACKEND_V2_POST_URL=https://test.com/api/v2/post/
      - VITE_APP_WS_SERVER_URL=http://127.0.0.1:8082
      - VITE_APP_FIREBASE_CONFIG={}
      # alswl'fork env
      # forked excalidraw can use env https://github.com/alswl/excalidraw/pull/5
      - VITE_APP_HTTP_STORAGE_BACKEND_URL=http://127.0.0.1:8081/api/v2
      - VITE_APP_STORAGE_BACKEND=http
    ports:
      - 18912:80

  storage:
    image: alswl/excalidraw-storage-backend:v2023.11.11
    restart: always
    environment: # docs https://github.com/alswl/excalidraw-storage-backend#environement-variables
      - PORT=8081
    ports:
      - 8081:8081

  room:
    image: excalidraw/excalidraw-room:sha-49bf529
    ports:
     - 8082:80

This configurations works, maybe you should check your network policy.

@Anilo1990
Copy link
Author

@alswl
nope the standard configuration doesn't work for me either :-(
I've no special network policy. All other containers are running fine without any issue.

Any idea what I could check further?

`> [email protected] start:prod

node dist/main
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [NestFactory] Starting Nest application...
[Nest] 17 - 11/23/2023, 2:12:05 PM WARN [StorageService] STORAGE_URI is undefined, will use non persistant in memory storage
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [InstanceLoader] AppModule dependencies initialized +6ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [RoutesResolver] ScenesController {/api/v2/scenes}: +12ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [RouterExplorer] Mapped {/api/v2/scenes/:id, GET} route +4ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [RouterExplorer] Mapped {/api/v2/scenes, POST} route +1ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [RoutesResolver] RoomsController {/api/v2/rooms}: +1ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [RouterExplorer] Mapped {/api/v2/rooms/:id, GET} route +1ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [RouterExplorer] Mapped {/api/v2/rooms/:id, PUT} route +1ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [RoutesResolver] FilesController {/api/v2/files}: +1ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [RouterExplorer] Mapped {/api/v2/files/:id, GET} route +1ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [RouterExplorer] Mapped {/api/v2/files/:id, PUT} route +0ms
[Nest] 17 - 11/23/2023, 2:12:05 PM LOG [NestApplication] Nest application successfully started +4ms`

@alswl
Copy link
Owner

alswl commented Nov 23, 2023 via email

@Anilo1990
Copy link
Author

@alswl
DSM 720+
DSM 7.2.1-69057 Update 2

Docker Version (Container Manager) 20.10.23-1437
Docker Compose version 20.10.23, build 876964a

@alswl
Copy link
Owner

alswl commented Nov 23, 2023

@Anilo1990 try to upgrade to latest docker / docker-compose version.

My version:

Docker version 24.0.6, build ed223bc
Docker Compose version v2.23.0-desktop.1

@Anilo1990
Copy link
Author

@alswl
I think thats not possible. I followed this guide https://www.smarthomebeginner.com/synology-docker-media-server/ but it's not possible to update to 2.23.3 because Synology is using a application called "Container Manager" to run Docker. I executed the command but it still stays on Docker version 20.10.23

@alswl
Copy link
Owner

alswl commented Nov 23, 2023

Which URL did you open?

If you not run containers in your current desktop, you cannot access the "127.0.0.1" website.

So the VITE_APP_WS_SERVER_URL and VITE_APP_HTTP_STORAGE_BACKEND_URL in your configuration is wrong.

You can check your Web Dev Tools, I think the HTTP request is failed, and even you change the two env by the intranet IP, you will still get error. Because the two url is not HTTPS protocol.

You must register a HTTP SSL cert or sign by you self (with CA cert install).

@Anilo1990
Copy link
Author

Anilo1990 commented Nov 23, 2023

@alswl
I have a signed certificate with Let‘s Encrypt.
It looks like this https://excalidraw.mydomain.de

@alswl
Copy link
Owner

alswl commented Nov 24, 2023

@Anilo1990 you should three domains (frontend / room / storage) or sign one domain but use a Load Balancer(like nginx).

@Anilo1990
Copy link
Author

@alswl
I can assign subdomains for frontend / room / storage.
Can you tell me how I need to modify the docker-compose for that?

@alswl
Copy link
Owner

alswl commented Nov 24, 2023

modify the docker-compose

It will be a little complicated, user need known the basis of infrastructure management(A.K.A. DevOps).

Maybe I will provide a guide later.

@Anilo1990
Copy link
Author

@alswl
I thought I only had to add the subdomains somewhere in the docker-compose. I did not know that it is so complicated that I need an extra guide for it

@Anilo1990
Copy link
Author

@alswl
you had time to write down a guide for my issue so I can solve it?

@kschimpanski
Copy link

@Anilo1990
Is the port that you set for the storage service open (8081)? I get the same error in collab mode on a local VM with docker when the port is not open.
However the storage log also tells me: WARN [StorageService] STORAGE_URI is undefined, will use non persistant in memory storage

@Anilo1990
Copy link
Author

@kschimpanski
I have already tried the following:

  • enabled port 8081 in my disc station
  • Firewall completely deactivated
  • Restarted Excalibur services in Portainer after I made a change

The warning message still appears in collab mode.

grafik

@Anilo1990
Copy link
Author

any idea for a solution @alswl @kschimpanski

@alswl alswl added the help wanted Extra attention is needed label Dec 20, 2023
@inquam
Copy link

inquam commented Feb 7, 2024

You are not using something in front (I use authelia and traefik for instance) that could be setting a CORS-policy that is blocking you?

@alswl alswl added support Support user's cases(community driven) and removed help wanted Extra attention is needed labels Feb 15, 2024
@Anilo1990
Copy link
Author

Nope at that time I wasn't using anything infront of excalidraw.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
support Support user's cases(community driven)
Projects
None yet
Development

No branches or pull requests

4 participants