puter icon indicating copy to clipboard operation
puter copied to clipboard

[docker] A way mount the data directory that doesn't require `chown`

Open bupahaibao opened this issue 1 year ago • 34 comments

I am using unraid. When I deployed the puter, I looked at the docker container log and found this error. Looking for technical help. 截屏2024-07-31 12 08 18

bupahaibao avatar Jul 31 '24 04:07 bupahaibao

~~Hello, quick fix is to add NO_VAR_RUNTIME=1 before the command. The /var/puter directory is getting created and I still don't know why; this has been driving me nuts for weeks.~~

edit: I didn't read this carefully enough; didn't realize it was a Docker container.

This might be a permission issue. Can you provide the commands you used to reproduce this issue?

KernelDeimos avatar Jul 31 '24 18:07 KernelDeimos

~Hello, quick fix is to add NO_VAR_RUNTIME=1 before the command. The /var/puter directory is getting created and I still don't know why; this has been driving me nuts for weeks.~

edit: I didn't read this carefully enough; didn't realize it was a Docker container.

This might be a permission issue. Can you provide the commands you used to reproduce this issue?


version: "3.8" services: puter: container_name: puter image: ghcr.io/heyputer/puter:latest pull_policy: always # build: ./ restart: unless-stopped ports: - '4100:4100' environment: TZ: Asia/Shanghai CONFIG_PATH: /etc/puter PUID: 1000 PGID: 1000 volumes: - /mnt/nvme0n1-4/Configs/puter/config:/etc/puter - /mnt/nvme0n1-4/Configs/puter/data:/var/puter healthcheck: test: wget --no-verbose --tries=1 --spider http://puter.localhost:4100/test || exit 1 interval: 30s timeout: 3s retries: 3 start_period: 30s

bupahaibao avatar Aug 01 '24 03:08 bupahaibao

This is a docker compose file, right? Make sure you have ownership set correctly on those directories:

chown -R 1000:1000 /mnt/nvme0n1-4/Configs/puter/config
chown -R 1000:1000 /mnt/nvme0n1-4/Configs/puter/data

In case it helps, this is the snippet of code that's throwing the exception when checking /var/puter:

    require_write_permission: ({ path }) => {
        try {
            fs.writeFileSync(path_.join(path, '.tmp_test_write_permission'), 'test');
            fs.unlinkSync(path_.join(path, '.tmp_test_write_permission'));
        } catch (e) {
            throw new Error(`Cannot write to path: ${path}`);
        }
        return true;
    },

The function tries to write a file to that directory as a test. This error indicates that /var/puter is not writable within your container.

KernelDeimos avatar Aug 01 '24 07:08 KernelDeimos

@bupahaibao hello, did the solution above resolve the issue? If so, please let me know so I can close this, thanks!

KernelDeimos avatar Aug 05 '24 19:08 KernelDeimos

Hello, I have the same situation on Ubuntu 22.04. Here is my compose:

services:
  puter:
    container_name: puter
    image: ghcr.io/heyputer/puter:latest
    pull_policy: always
    restart: unless-stopped
    ports:
      - 4100:4100
    environment:
      - PUID=1004
      - PGID=1004
      - TZ=Europe/Rome
    volumes:
      - /root/docker/stack/puter/config:/etc/puter
      - /root/docker/stack/puter/data:/var/puter
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://puter.localhost:4100/test || exit 1
      interval: 30s
      timeout: 3s
      retries: 3
      start_period: 30s

I checked the user and group id were correct:

root@dockerstack:~/docker/stack# getent group 1004
container:x:1004:
root@dockerstack:~/docker/stack# id -u container
1004

It also looks like the permissions are correct:

root@dockerstack:~/docker/stack# ls -la puter/
total 16
drwxrwxr-x  4 container service 4096 Aug  9 11:14 .
drwxrwxr-x 13 container service 4096 Aug  9 11:13 ..
drwxrwxr-x  2 container service 4096 Aug  9 11:15 config
drwxrwxr-x  2 container service 4096 Aug  8 21:05 data

Could it be the permissions drwxrwxr-x? I still get [BOOT/ERROR] Error: Cannot write to path: /var/puter and the container keeps restarting. Would love to get this awesome tool running!

francescoferri avatar Aug 09 '24 11:08 francescoferri

@francescoferri are you able to check the permissions of /var/puter inside the Docker container? I suspect that's where they're incorrect, but I'm not sure how Docker handles permissions of volume mounts.

KernelDeimos avatar Aug 09 '24 18:08 KernelDeimos

So it looks like the container keeps restarting so I cannot make it into the shell:

root@dockerstack:~# docker exec -it puter sh
Error response from daemon: Container ec4a4f93b9013ec241cf51fafe7ed85afd52ad2b712bf847021aa2d371e118b3 is restarting, wait until the container is running

Because of this, I decided to start a webtop container with the same uid and gid just to see what is going on. Here is the compose:

webtop:
    image: lscr.io/linuxserver/webtop:latest
    container_name: webtop
    security_opt:
      - seccomp:unconfined #optional
    environment:
      - PUID=1004
      - PGID=1004
      - TZ=Europe/Rome
      - TITLE=Webtop #optional
    volumes:
      - /root/docker/stack/webtop/data:/config
      - /root/docker/stack/puter/config:/etc/puter
      - /root/docker/stack/puter/data:/var/puter
    ports:
      - 3000:3000
      - 3001:3001
    shm_size: "1gb" #optional
    restart: unless-stopped

Turns out that inside of the container at /var I see:

9ad4a2eb6d1f:/var$ ls -la
total 72
drwxr-xr-x 1 root root      4096 Aug 10 17:52 .
drwxr-xr-x 1 root root      4096 Aug 10 17:52 ..
drwxr-xr-x 1 root root      4096 Aug  3 20:53 cache
drwxr-xr-x 2 root root      4096 Aug  3 20:53 db
dr-xr-xr-x 2 root root      4096 Jul 27 15:31 empty
drwxr-xr-x 1 root root      4096 Aug  6 05:58 lib
drwxr-xr-x 2 root root      4096 Jul 27 15:31 local
drwxr-xr-x 3 root root      4096 Jul 27 15:31 lock
drwxr-xr-x 1 root root      4096 Aug  3 20:53 log
drwxr-xr-x 2 root root      4096 Jul 27 15:31 mail
drwxr-xr-x 2 root root      4096 Jul 27 15:31 opt
drwxrwxr-x 2 abc  kasm-user 4096 Aug 10 17:35 puter
lrwxrwxrwx 1 root root         4 Jul 27 15:31 run -> /run
drwxr-xr-x 1 root root      4096 Aug  3 20:53 spool
drwxrwxrwt 2 root root      4096 Jul 27 15:31 tmp
drwxr-xr-x 3 root root      4096 Aug  3 20:53 www

And that indeed as set by the compose the user abc has uid=1004:

9ad4a2eb6d1f:/var$ whoami
abc
9ad4a2eb6d1f:/var$ id -u abc
1004

So I decided to test if I could write to it. Sure I can...

9ad4a2eb6d1f:/var$ cd puter
9ad4a2eb6d1f:/var/puter$ ls -la
total 12
drwxrwxr-x 2 abc  kasm-user 4096 Aug 10 17:35 .
drwxr-xr-x 1 root root      4096 Aug 10 17:52 ..
9ad4a2eb6d1f:/var/puter$ touch test
9ad4a2eb6d1f:/var/puter$ ls -la
total 12
drwxrwxr-x 2 abc  kasm-user 4096 Aug 10 17:55 .
drwxr-xr-x 1 root root      4096 Aug 10 17:52 ..
-rw-r--r-- 1 abc  abc          0 Aug 10 17:55 test

So I can, which leaves me even more confused now. If I have a different container with the same uid that can write to it, why would puter not be able to do that? Could it be a username issue? I have the host OS setting container as the owner of the directory. But have the container user abc, with the same uid=1004 try to access it. Would that be the issue? Thanks for the help!

francescoferri avatar Aug 10 '24 16:08 francescoferri

Has there been an update to this issue? I'm having the same problem. I'm running this on a Synology NAS using Container Manager (which is basically a Docker Compose frontend). I have tried various changes to the compose file, but I haven't gotten this to work either. Getting the same error:

-- | -- | -- 2024/09/10 01:36:45 | stdout |   2024/09/10 01:36:45 | stdout | [31;1m┗━━ [ END HELP ][0m 2024/09/10 01:36:45 | stdout | [31;1m┃[0m Help can be added in src/errors/error_help_details. 2024/09/10 01:36:45 | stdout | [31;1m┃[0m No help is available for this error. 2024/09/10 01:36:45 | stdout | [31;1m┃[0m Whoops! Looks like something isn't working! 2024/09/10 01:36:45 | stdout | [31;1m┏━━ [ HELP:[0m Cannot write to path: /var/puter [31;1m][0m 2024/09/10 01:36:45 | stdout |   2024/09/10 01:36:45 | stdout | at async file:///opt/puter/app/tools/run-selfhosted.js:157:9 2024/09/10 01:36:45 | stdout | at main (file:///opt/puter/app/tools/run-selfhosted.js:96:7) 2024/09/10 01:36:45 | stdout | at Kernel.boot (/opt/puter/app/src/backend/src/Kernel.js:70:14) 2024/09/10 01:36:45 | stdout | at Kernel.runtime_init (/opt/puter/app/src/backend/src/Kernel.js:62:40) 2024/09/10 01:36:45 | stdout | at RuntimeEnvironment.init (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:210:25) 2024/09/10 01:36:45 | stdout | at RuntimeEnvironment.init (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:235:37) 2024/09/10 01:36:45 | stdout | at RuntimeEnvironment.get_first_suitable_path_ (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:338:32) 2024/09/10 01:36:45 | stdout | at require_write_permission (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:78:19) 2024/09/10 01:36:45 | stdout | [31;1m[BOOT/ERROR][0m Error: Cannot write to path: /var/puter 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m -> doing require_write_permission on path /var/puter... 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m -> doing  on path `/var/puter`... 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m -> doing `skip_if_not_exists` on path `/var/puter`... 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m Checking path `/var/puter` for working directory... 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m -> `require_if_not_undefined` doesn't like this path 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m -> doing `require_if_not_undefined` on path [undefined]... 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m Checking path `$RUNTIME_PATH` for working directory... 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m [33;1mUSING[0m `/etc/puter` for configuration. 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m -> doing `require_read_permission` on path `/etc/puter`... 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m -> doing `require_if_not_undefined` on path `/etc/puter`... 2024/09/10 01:36:45 | stdout | [36;1m[BOOT/INFO][0m Checking path `$CONFIG_PATH` for configuration... 2024/09/10 01:36:45 | stdout | [36;1mBoot logger started :)[0m 2024/09/10 01:36:45 | stdout |   2024/09/10 01:36:45 | stdout | > node ./tools/run-selfhosted.js 2024/09/10 01:36:45 | stdout | > [email protected] start 2024/09/10 01:36:45 | stdout |   2024/09/10 01:36:16 | stdout |   2024/09/10 01:36:16 | stdout | [31;1m┗━━ [ END HELP ][0m 2024/09/10 01:36:16 | stdout | [31;1m┃[0m Help can be added in src/errors/error_help_details. 2024/09/10 01:36:16 | stdout | [31;1m┃[0m No help is available for this error. 2024/09/10 01:36:16 | stdout | [31;1m┃[0m Whoops! Looks like something isn't working! 2024/09/10 01:36:16 | stdout | [31;1m┏━━ [ HELP:[0m `Cannot write to path: /var/puter` [31;1m][0m 2024/09/10 01:36:16 | stdout |   2024/09/10 01:36:16 | stdout | at async file:///opt/puter/app/tools/run-selfhosted.js:157:9 2024/09/10 01:36:16 | stdout | at main (file:///opt/puter/app/tools/run-selfhosted.js:96:7) 2024/09/10 01:36:16 | stdout | at Kernel.boot (/opt/puter/app/src/backend/src/Kernel.js:70:14) 2024/09/10 01:36:16 | stdout | at Kernel._runtime_init (/opt/puter/app/src/backend/src/Kernel.js:62:40) 2024/09/10 01:36:16 | stdout | at RuntimeEnvironment.init (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:210:25) 2024/09/10 01:36:16 | stdout | at RuntimeEnvironment.init_ (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:235:37) 2024/09/10 01:36:16 | stdout | at RuntimeEnvironment.get_first_suitable_path_ (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:338:32) 2024/09/10 01:36:16 | stdout | at require_write_permission (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:78:19) 2024/09/10 01:36:16 | stdout | [31;1m[BOOT/ERROR][0m Error: Cannot write to path: /var/puter 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m -> doing `require_write_permission` on path `/var/puter`... 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m -> doing  on path /var/puter... 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m -> doing skip_if_not_exists on path /var/puter... 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m Checking path /var/puter for working directory... 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m -> require_if_not_undefined doesn't like this path 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m -> doing require_if_not_undefined on path [undefined]... 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m Checking path $RUNTIME_PATH for working directory... 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m [33;1mUSING[0m /etc/puter for configuration. 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m -> doing require_read_permission on path /etc/puter... 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m -> doing require_if_not_undefined on path /etc/puter... 2024/09/10 01:36:16 | stdout | [36;1m[BOOT/INFO][0m Checking path $CONFIG_PATH for configuration... 2024/09/10 01:36:16 | stdout | [36;1mBoot logger started :)[0m 2024/09/10 01:36:16 | stdout |   2024/09/10 01:36:16 | stdout | > node ./tools/run-selfhosted.js 2024/09/10 01:36:16 | stdout | > [email protected] start

mikesellt avatar Sep 10 '24 08:09 mikesellt

Hello, I have the same error. I don't know if there is any solution.

I have created a system user without home named puter:

$ id puter
uid=993(puter) gid=990(puter) grupos=990(puter),994(docker)

I have created the docker compose file with two services: puter and webtop as @francescoferri indicated.

$ cat docker-compose.yml
version: "3.8"
services:
  puter:
    container_name: puter
    image: ghcr.io/heyputer/puter:latest
    pull_policy: always
    restart: unless-stopped
    ports:
      - '4100:4100'
    environment:
      - PUID=993
      - PGID=990
      - TZ=Europe/Madrid
    volumes:
      - /var/puter/config:/etc/puter
      - /var/puter/data:/var/puter
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://puter.localhost:4100/test || exit 1
      interval: 30s
      timeout: 3s
      retries: 3
      start_period: 30s

  webtop:
    image: lscr.io/linuxserver/webtop:latest
    container_name: webtop
    security_opt:
      - seccomp:unconfined #optional
    environment:
      - PUID=993
      - PGID=990
      - TZ=Europe/Madrid
      - TITLE=Webtop #optional
    volumes:
      - /var/puter/webtop/data:/config
      - /var/puter/config:/etc/puter
      - /var/puter/data:/var/puter
    ports:
      - 3000:3000
      - 3001:3001
    shm_size: "1gb" #optional
    restart: unless-stopped

Puter gives error accessing /var/puter, however if I connect to webtop I can access and write without problems.

$ docker exec -it puter sh
Error response from daemon: Container d9ef518aa6599f7a4d297e09e271e669c044af44211dab29f3306e9bcd1d4c4b is restarting, wait until the container is running

$ sudo -u puter docker logs puter
> [email protected] start
> node ./tools/run-selfhosted.js

Boot logger started :)
[BOOT/INFO] Checking path `$CONFIG_PATH` for configuration...
[BOOT/INFO] -> doing `require_if_not_undefined` on path [undefined]...
[BOOT/INFO] -> `require_if_not_undefined` doesn't like this path
[BOOT/INFO] Checking path `/etc/puter` for configuration...
[BOOT/INFO] -> doing `skip_if_not_exists` on path `/etc/puter`...
[BOOT/INFO] -> doing `require_read_permission` on path `/etc/puter`...
[BOOT/INFO] USING `/etc/puter` for configuration.
[BOOT/INFO] Checking path `$RUNTIME_PATH` for working directory...
[BOOT/INFO] -> doing `require_if_not_undefined` on path [undefined]...
[BOOT/INFO] -> `require_if_not_undefined` doesn't like this path
[BOOT/INFO] Checking path `/var/puter` for working directory...
[BOOT/INFO] -> doing `skip_if_not_exists` on path `/var/puter`...
[BOOT/INFO] -> doing `` on path `/var/puter`...
[BOOT/INFO] -> doing `require_write_permission` on path `/var/puter`...
[BOOT/ERROR] Error: Cannot write to path: /var/puter
    at require_write_permission (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:78:19)
    at RuntimeEnvironment.get_first_suitable_path_ (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:338:32)
    at RuntimeEnvironment.init_ (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:235:37)
    at RuntimeEnvironment.init (/opt/puter/app/src/backend/src/boot/RuntimeEnvironment.js:210:25)
    at Kernel._runtime_init (/opt/puter/app/src/backend/src/Kernel.js:62:40)
    at Kernel.boot (/opt/puter/app/src/backend/src/Kernel.js:70:14)
    at main (file:///opt/puter/app/tools/run-selfhosted.js:96:7)
    at async file:///opt/puter/app/tools/run-selfhosted.js:157:9

┏━━ [ HELP: `Cannot write to path: /var/puter` ]
┃ Whoops! Looks like something isn't working!
┃ No help is available for this error.
┃ Help can be added in src/errors/error_help_details.
┗━━ [ END HELP ]
$ docker exec -it webtop sh
root@c8ba85a917b6:/# ls -la /var
total 72
drwxr-xr-x 1 root root 4096 Sep 21 19:57 .
drwxr-xr-x 1 root root 4096 Sep 21 19:57 ..
drwxr-xr-x 1 root root 4096 Sep 14 20:48 cache
drwxr-xr-x 2 root root 4096 Sep 14 20:48 db
dr-xr-xr-x 2 root root 4096 Sep 14 15:32 empty
drwxr-xr-x 1 root root 4096 Sep 17 05:54 lib
drwxr-xr-x 2 root root 4096 Sep 14 15:32 local
drwxr-xr-x 3 root root 4096 Sep 14 15:32 lock
drwxr-xr-x 1 root root 4096 Sep 14 20:48 log
drwxr-xr-x 2 root root 4096 Sep 14 15:32 mail
drwxr-xr-x 2 root root 4096 Sep 14 15:32 opt
drwxrwxr-x 2 abc  abc  4096 Sep 21 19:49 puter
lrwxrwxrwx 1 root root    4 Sep 14 15:32 run -> /run
drwxr-xr-x 1 root root 4096 Sep 14 20:48 spool
drwxrwxrwt 2 root root 4096 Sep 14 15:32 tmp
drwxr-xr-x 3 root root 4096 Sep 14 20:48 www

root@c8ba85a917b6:/# sudo -u abc id
uid=993(abc) gid=990(abc) groups=990(abc),10(wheel),103(docker),1000(users)

root@c8ba85a917b6:/# sudo -u abc touch /var/puter/b
root@c8ba85a917b6:/# sudo -u abc ls -la /var/puter
total 12
drwxrwxr-x 2 abc  abc  4096 Sep 21 19:59 .
drwxr-xr-x 1 root root 4096 Sep 21 19:57 ..
-rw-r--r-- 1 abc  abc     0 Sep 21 19:49 a
-rw-r--r-- 1 abc  abc     0 Sep 21 19:59 b

Thanks in advance!

capira avatar Sep 21 '24 18:09 capira

Reviewing the issue https://github.com/HeyPuter/puter/issues/209 I have tried assigning user 1000 and group 1000 permissions and configuring docker compose with these and it works.

Is it possible that these permissions are written in the code? is it not possible to parameterize them, @KernelDeimos ?

In any case, thank you very much for the awesome work.

capira avatar Sep 21 '24 19:09 capira

Unfortunately, I have the same problem, since I can't create a UID 1000 / GID 1000 user I am stuck. Shame that this is not possible yet. It appears indeed that docker parameters are not used.

Only when I give "everyone" access to the folder it will work.

DieterKoblenz avatar Nov 05 '24 13:11 DieterKoblenz

Reviewing the issue #209 I have tried assigning user 1000 and group 1000 permissions and configuring docker compose with these and it works.

Is it possible that these permissions are written in the code? is it not possible to parameterize them, @KernelDeimos ?

In any case, thank you very much for the awesome work.

Parameterizing the UID/GID of the user in the Docker container would be tricky. I think we need to mount this in a different way. Docker must have a way to make this easier, but I don't know what it is yet.

Neither of the maintainers (myself included) use Docker all that much. I know my way around a Dockerfile and the cli, but I don't my way around all the features or what people usually expect when deploying a docker image, so a lot of these issues that come up confuse me. For example, I don't understand why setting ownership to 1000:1000 causes a problem for some people, and it would take me much longer to improve that experience than someone who does this sort of thing all the time.

KernelDeimos avatar Nov 07 '24 02:11 KernelDeimos

I added the help wanted label, and changed the title to something a Docker-guru who knows how to solve this will recognize.

KernelDeimos avatar Nov 07 '24 02:11 KernelDeimos

Step 1: Find the Current UID/GID on Unraid

ls -n /path/to/your/directory

Note the UID and GID from the output (e.g., 99:100)

Step 2: Update the Container Environment Variables

In Unraid's Docker GUI, set the following environment variables:

PUID=99 PGID=100

Step 3: Adjust Permissions for Shared Directories

chown -R 99:100 /path/to/your/directory chmod -R 775 /path/to/your/directory

Step 4: Restart the Docker Container

From the Unraid UI, restart the container for changes to take effect.

Step 5: Verify Permissions Inside the Container

docker exec -it <container_name> /bin/bash ls -l /path/to/mounted/directory

Ensure the UID and GID match what you set (99:100).

Optional: Create a Custom User in the Container

If modifying the Dockerfile (advanced):

RUN addgroup -g 99 unraidgroup && adduser -u 99 -G unraidgroup -D unraiduser USER unraiduser

Alternatively, specify the user when running the container:

docker run --user 99:100 -v /path/to/your/directory:/container/path puter-image

AllofTheThangz avatar Nov 22 '24 04:11 AllofTheThangz

I am unable to get this working with your advice, unfortunately.

mihcox avatar Nov 23 '24 02:11 mihcox

Hey,

Id love to collaborate, but a screen share with this configuration would be helpful. I am able to get it going on my host and am thinking of setting up a couple trial vms to try, but it would better if we had live host to troubleshoot with.

Can you provide logs or anything that can help determine the fail point?

On Fri, Nov 22, 2024, 9:59 PM mihcox @.***> wrote:

I am unable to get this working with your advice, unfortunately.

— Reply to this email directly, view it on GitHub https://github.com/HeyPuter/puter/issues/645#issuecomment-2495247768, or unsubscribe https://github.com/notifications/unsubscribe-auth/APUFLHLXDKQNHAW2S7T2AJT2B7VRVAVCNFSM6AAAAABLXT4FNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJVGI2DONZWHA . You are receiving this because you commented.Message ID: @.***>

AllofTheThangz avatar Nov 23 '24 14:11 AllofTheThangz

Step 1: image

Step 2: image

Step 3: image

Step 4: I run docker restart Puter and get the same error image

Let me know if I missed something in my config/setup

mihcox avatar Nov 23 '24 22:11 mihcox

OK,

The container variables need to be deleted, set those at the top when in advanced viewer. Also, make sure privileged is on for the first test launch.

Try and advise.

Thanks

On Sat, Nov 23, 2024, 5:42 PM mihcox @.***> wrote:

Step 1: image.png (view on web) https://github.com/user-attachments/assets/c2bae1c7-7bf4-4a1e-9809-a8912feb77ff

Step 2: image.png (view on web) https://github.com/user-attachments/assets/ac51b457-a9ec-438e-ad01-18c232f847cb

Step 3: image.png (view on web) https://github.com/user-attachments/assets/692526d3-f91d-438d-b92e-aa2a2982105d

Step 4: I run docker restart Puter and get the same error image.png (view on web) https://github.com/user-attachments/assets/c34f27af-1178-436d-934c-d30b588ebac2

Let me know if I missed something in my config/setup

— Reply to this email directly, view it on GitHub https://github.com/HeyPuter/puter/issues/645#issuecomment-2495676710, or unsubscribe https://github.com/notifications/unsubscribe-auth/APUFLHIJ3Z4NBCBJLFRXRHL2CEAFJAVCNFSM6AAAAABLXT4FNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJVGY3TMNZRGA . You are receiving this because you commented.Message ID: @.***>

AllofTheThangz avatar Nov 23 '24 23:11 AllofTheThangz

That seems to have gotten me over the initial hurdle, now the webpage only shows the following: Invalid Host header.

Logs: image

mihcox avatar Nov 24 '24 00:11 mihcox

Excellent. I believe first launch this took about 5-10 mins to get past.

On Sat, Nov 23, 2024, 7:29 PM mihcox @.***> wrote:

That seems to have gotten me over the initial hurdle, now the webpage only shows the following: Invalid Host header.

Logs:

status: 400 responseTime: 5.035 trace_request: "27612e08-5596-4567-b9be-07ec86f215b6" [INFO::morgan] (15.033s) GET /favicon.ico? 400 0.729 method: "GET" url: "/favicon.ico?" status: 400 responseTime: 0.729 trace_request: "7e2d64ce-4b94-40f5-8408-fb6396046638" [INFO::morgan] (15.786s) GET /? 400 0.565 method: "GET" url: "/?" status: 400 responseTime: 0.565 trace_request: "8976c58a-df9c-44fb-a25c-d8a76d88fd48" [TICK::server-health] (30.886s) service checks [TICK::app-info] (31.483s) refresh app cache [TICK::refresh_apps_cache] (46.505s) refresh associations cache [ Dev Console ]

— Reply to this email directly, view it on GitHub https://github.com/HeyPuter/puter/issues/645#issuecomment-2495717524, or unsubscribe https://github.com/notifications/unsubscribe-auth/APUFLHN3CH7WYBHVRWKDUPT2CEMVPAVCNFSM6AAAAABLXT4FNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJVG4YTONJSGQ . You are receiving this because you commented.Message ID: @.***>

AllofTheThangz avatar Nov 24 '24 00:11 AllofTheThangz

Status?

On Sat, Nov 23, 2024, 7:47 PM Simon Lively @.***> wrote:

Excellent. I believe first launch this took about 5-10 mins to get past.

On Sat, Nov 23, 2024, 7:29 PM mihcox @.***> wrote:

That seems to have gotten me over the initial hurdle, now the webpage only shows the following: Invalid Host header.

Logs:

status: 400 responseTime: 5.035 trace_request: "27612e08-5596-4567-b9be-07ec86f215b6" [INFO::morgan] (15.033s) GET /favicon.ico? 400 0.729 method: "GET" url: "/favicon.ico?" status: 400 responseTime: 0.729 trace_request: "7e2d64ce-4b94-40f5-8408-fb6396046638" [INFO::morgan] (15.786s) GET /? 400 0.565 method: "GET" url: "/?" status: 400 responseTime: 0.565 trace_request: "8976c58a-df9c-44fb-a25c-d8a76d88fd48" [TICK::server-health] (30.886s) service checks [TICK::app-info] (31.483s) refresh app cache [TICK::refresh_apps_cache] (46.505s) refresh associations cache [ Dev Console ]

— Reply to this email directly, view it on GitHub https://github.com/HeyPuter/puter/issues/645#issuecomment-2495717524, or unsubscribe https://github.com/notifications/unsubscribe-auth/APUFLHN3CH7WYBHVRWKDUPT2CEMVPAVCNFSM6AAAAABLXT4FNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJVG4YTONJSGQ . You are receiving this because you commented.Message ID: @.***>

AllofTheThangz avatar Nov 25 '24 22:11 AllofTheThangz

i am seeing various errors in the logs, I can provide more detail as you need:

image

Gputer> G
A[ Dev Console ]
init failures [
  {
    k: 'database',
    e: SqliteError: FOREIGN KEY constraint failed
        at Database.exec (/opt/puter/app/node_modules/better-sqlite3/lib/methods/wrappers.js:9:14)
        at SqliteDatabaseAccessService._init (/opt/puter/app/src/backend/src/services/database/SqliteDatabaseAccessService.js:80:25)
        at SqliteDatabaseAccessService.init (/opt/puter/app/src/backend/src/services/BaseService.js:48:36)
        at Container.init (/opt/puter/app/src/backend/src/services/Container.js:95:42)
        at async Kernel._install_modules (/opt/puter/app/src/backend/src/Kernel.js:139:13)
        at async /opt/puter/app/src/backend/src/Kernel.js:118:13
        at async /opt/puter/app/src/backend/src/util/context.js:115:20
        at async Context.arun (/opt/puter/app/src/backend/src/util/context.js:113:16) {
      code: 'SQLITE_CONSTRAINT_FOREIGNKEY'
    }
  }
]
Gputer> G
A[ERRO::system-validation] (1.449s) Error @ INVALID SYSTEM STATE: failed to initialize services; CompositeError: failed to initialize these services: database
    at Container.init (/opt/puter/app/src/backend/src/services/Container.js:103:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Kernel._install_modules (/opt/puter/app/src/backend/src/Kernel.js:139:13)
    at async /opt/puter/app/src/backend/src/Kernel.js:118:13
    at async /opt/puter/app/src/backend/src/util/context.js:115:20
    at async Context.arun (/opt/puter/app/src/backend/src/util/context.js:113:16)
--- Inner error: SqliteError: FOREIGN KEY constraint failed
    at Database.exec (/opt/puter/app/node_modules/better-sqlite3/lib/methods/wrappers.js:9:14)
    at SqliteDatabaseAccessService._init (/opt/puter/app/src/backend/src/services/database/SqliteDatabaseAccessService.js:80:25)
    at SqliteDatabaseAccessService.init (/opt/puter/app/src/backend/src/services/BaseService.js:48:36)
    at Container.init (/opt/puter/app/src/backend/src/services/Container.js:95:42)
    at async Kernel._install_modules (/opt/puter/app/src/backend/src/Kernel.js:139:13)
    at async /opt/puter/app/src/backend/src/Kernel.js:118:13
    at async /opt/puter/app/src/backend/src/util/context.js:115:20
    at async Context.arun (/opt/puter/app/src/backend/src/util/context.js:113:16)
--- End of inner error 
[ Dev Console ]
Gputer> G
A[ERRO::system-validation] (1.450s) CompositeError: failed to initialize these services: database 
[ Dev Console ]
Gputer> G
A[ERRO::alarm] (1.451s) upcoming alarm: INVALID SYSTEM STATE:failed to initialize services: failed to initialize services 
[ Dev Console ]
Gputer> G
A[ERRO::alarm] (1.454s) ACTIVE bold-wallet-1101 (INVALID SYSTEM STATE...) :: failed to initialize services (1) 
 error: {
  "message": "failed to initialize these services: database",
  "name": "CompositeError",
  "innerErrors": [
    {
      "code": "SQLITE_CONSTRAINT_FOREIGNKEY"
    }
  ],
  "originalStackDescriptor": {
    "enumerable": false,
    "configurable": true
  }
}
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.465s) registering command fsc:status 
[ Dev Console ]
Gputer> G
A[TICK::app-info] (1.466s) refresh app cache 
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.468s) registering command eng:test 
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.470s) registering command eng:set 
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.470s) registering command eng:list 
[ Dev Console ]
Gputer> G
A[TICK::app-info] (1.471s) refresh app stats 
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.473s) registering command mysql-fsentry-service:get-queue-size-current 
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.474s) registering command mysql-fsentry-service:get-queue-size-deferred 
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (1.476s) services:event boot.consolidation 
 args: []
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.477s) registering command logs:show 
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.477s) registering command logs:rec 
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.478s) registering command logs:stop 
[ Dev Console ]
Gputer> G
A[INFO::commands] (1.478s) registering command logs:indent 
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (1.479s) services:event install.middlewares.context-aware 
 args: [

    all values are hidden

]
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (1.480s) services:event install.context-initializers 
 args: []
[ Dev Console ]
Gputer> G
A[TICK::refresh_apps_cache] (1.484s) refresh associations cache 
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (1.488s) services:event install.routes 
 args: [

    all values are hidden

]
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (1.597s) services:event install.routes-gui 
 args: [

    all values are hidden

]
[ Dev Console ]
Gputer> G
A[TICK::app-info] (1.603s) refresh app stat referrals 
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (1.606s) services:event boot.activation 
 args: []
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (1.607s) services:event start.webserver 
 args: []
[ Dev Console ]
Gputer> G
A[INFO::init] (1.611s) services ready 
[ Dev Console ]
Gputer> G
A[SYSTEM::init] (1.612s) server ready 
 deployment_type: undefined
[ Dev Console ]
Gputer> G
ACONFIGURATION MUTATED AT RUNTIME http_port to auto
[ Dev Console ]
Gputer> G
A[INFO::web-server] (1.614s) trying port: 4100 
[ Dev Console ]
Gputer> G
A[INFO::app-info] (1.622s) DONE refresh app stat referrals 
[ Dev Console ]
Gputer> G
ACONFIGURATION MUTATED AT RUNTIME http_port to 4100
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (1.680s) services:event install.websockets 
 args: [
  {
    "server": {
      "requestTimeout": 7200000,
      "headersTimeout": 7200000,
      "keepAliveTimeout": 5000,
      "connectionsCheckingInterval": 30000,
      "requireHostHeader": true,
      "rejectNonStandardBodyWrites": false,
      "_events": {
        "listening": [
          null,
          null,
        ]
      },
      "_eventsCount": 6,
      "_connections": 0,
      "_handle": {
        "reading": false
      },
      "_usingWorkers": false,
      "_workers": [],
      "_unref": false,
      "_listeningId": 1,
      "allowHalfOpen": true,
      "pauseOnConnect": false,
      "noDelay": true,
      "keepAlive": false,
      "keepAliveInitialDelay": 0,
      "highWaterMark": 16384,
      "httpAllowHalfOpen": false,
      "timeout": 7200000,
      "maxHeadersCount": null,
      "maxRequestsPerSocket": 0,
      "_connectionKey": "6::::4100"
    }
  }
]
[ Dev Console ]
Gputer> G
A[NOTICE_ME::broadcast] (1.683s) {} 
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (1.685s) services:event ready.webserver 
 args: []
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (1.687s) Starting puter.js:webpack-watch in /opt/puter/app/src/puter-js 
[ Dev Console ]
Gputer> G
Acommand npm run start-webpack
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (1.692s) Starting terminal:rollup-watch in /opt/puter/app/src/terminal 
[ Dev Console ]
Gputer> G
Acommand npx rollup -c rollup.config.js --watch
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (1.696s) Starting phoenix:rollup-watch in /opt/puter/app/src/phoenix 
[ Dev Console ]
Gputer> G
Acommand npx rollup -c rollup.config.js --watch
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (1.701s) Starting git:rollup-watch in /opt/puter/app/src/git 
[ Dev Console ]
Gputer> G
Acommand npx rollup -c rollup.config.js --watch
[ Dev Console ]
Gputer> G
A[INFO::permission] (1.710s) checking permission driver:puter-kvstore:get for actor user:4f3e0d5b-736e-4989-b471-5d663a0d59b2 
 actor: "user:4f3e0d5b-736e-4989-b471-5d663a0d59b2"
 permission: "driver:puter-kvstore:get"
[ Dev Console ]
Gputer> G
A[INFO::operation-trace] (1.716s) FRAME START public-db-kvstore:get (0) {} 
[ Dev Console ]
Gputer> G
A[INFO::frame:486f6e67-97d8-4c80-aabd-89ee54738a3a] (1.718s) FRAME STATUS working  
 tags: []
[ Dev Console ]
Gputer> G
ATHIS WAS CALLED { key: 'tmp_password' }
[ Dev Console ]
Gputer> G
A[INFO::frame:486f6e67-97d8-4c80-aabd-89ee54738a3a] (1.720s) FRAME STATUS done  
 tags: []
[ Dev Console ]
Gputer> G
A[INFO::permission] (1.727s) checking permission driver:puter-kvstore:set for actor user:4f3e0d5b-736e-4989-b471-5d663a0d59b2 
 actor: "user:4f3e0d5b-736e-4989-b471-5d663a0d59b2"
 permission: "driver:puter-kvstore:set"
[ Dev Console ]
Gputer> G
A[INFO::operation-trace] (1.729s) FRAME START public-db-kvstore:set (0) {} 
[ Dev Console ]
Gputer> G
A[INFO::frame:cc4ac5dd-ad2d-4644-9637-2740c5028c6d] (1.730s) FRAME STATUS working  
 tags: []
[ Dev Console ]
Gputer> G
ATHIS WAS CALLED (SET) { key: 'tmp_password', value: 'eec69ebb' }
[ Dev Console ]
Gputer> G
A[INFO::frame:cc4ac5dd-ad2d-4644-9637-2740c5028c6d] (1.734s) FRAME STATUS done  
 tags: []
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.327s) [puter.js:webpack-watch:1]  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.328s) [puter.js:webpack-watch:1] > @heyputer/[email protected] start-webpack 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.328s) [puter.js:webpack-watch:1] > webpack ./src/index.js --output-filename puter.js && webpack ./src/index.js --output-filename puter.dev.js --watch --devtool source-map 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.329s) [puter.js:webpack-watch:1]  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.765s) [git:rollup-watch:2] rollup v3.29.4 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.767s) [git:rollup-watch:2] bundles src/main.js → dist/bundle.js... 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.768s) [phoenix:rollup-watch:2] rollup v3.29.4 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.768s) [phoenix:rollup-watch:2] bundles src/main_puter.js → dist/bundle.js... 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.769s) [terminal:rollup-watch:2] rollup v3.29.4 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (2.770s) [terminal:rollup-watch:2] bundles src/main.js → dist/bundle.js... 
[ Dev Console ]
Gputer> G
A[ Dev Console ]
Gputer> G
A[INFO::permission] (3.768s) checking permission driver:puter-kvstore:get for actor user:4f3e0d5b-736e-4989-b471-5d663a0d59b2 
 actor: "user:4f3e0d5b-736e-4989-b471-5d663a0d59b2"
 permission: "driver:puter-kvstore:get"
[ Dev Console ]
Gputer> G
A[INFO::operation-trace] (3.771s) FRAME START public-db-kvstore:get (0) {} 
[ Dev Console ]
Gputer> G
A[INFO::frame:d7390038-0bc9-4127-bfcd-0c0b1e8b4115] (3.772s) FRAME STATUS working  
 tags: []
[ Dev Console ]
Gputer> G
ATHIS WAS CALLED { key: 'tmp_password' }
[ Dev Console ]
Gputer> G
A[INFO::frame:d7390038-0bc9-4127-bfcd-0c0b1e8b4115] (3.777s) FRAME STATUS done  
 tags: []
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (4.546s) [terminal:rollup-watch:2] [!] (plugin copy) Error: EACCES: permission denied, mkdir '/opt/puter/app/src/terminal/dist' 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (4.547s) [terminal:rollup-watch:2] Error: EACCES: permission denied, mkdir '/opt/puter/app/src/terminal/dist' 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (4.548s) [terminal:rollup-watch:2]  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (4.550s) [terminal:rollup-watch:2]  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (4.811s) [phoenix:rollup-watch:2] [!] (plugin copy) Error: EACCES: permission denied, mkdir '/opt/puter/app/src/phoenix/dist' 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (4.813s) [phoenix:rollup-watch:2] Error: EACCES: permission denied, mkdir '/opt/puter/app/src/phoenix/dist' 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (4.814s) [phoenix:rollup-watch:2]  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (4.816s) [phoenix:rollup-watch:2]  
[ Dev Console ]
Gputer> G
A[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (5.767s) [git:rollup-watch:2] (!) Circular dependency 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (5.769s) [git:rollup-watch:2] src/subcommands/__exports__.js -> src/subcommands/help.js -> src/subcommands/__exports__.js 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (5.770s) [git:rollup-watch:2] [!] (plugin copy) Error: EACCES: permission denied, mkdir '/opt/puter/app/src/git/dist' 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (5.771s) [git:rollup-watch:2] Error: EACCES: permission denied, mkdir '/opt/puter/app/src/git/dist' 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (5.771s) [git:rollup-watch:2]  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (5.772s) [git:rollup-watch:2]  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.355s) [puter.js:webpack-watch:2] [webpack-cli] [Error: EACCES: permission denied, mkdir '/opt/puter/app/src/puter-js/dist'] { 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.357s) [puter.js:webpack-watch:2]   errno: -13, 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.358s) [puter.js:webpack-watch:2]   code: 'EACCES', 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.358s) [puter.js:webpack-watch:2]   syscall: 'mkdir', 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.359s) [puter.js:webpack-watch:2]   path: '/opt/puter/app/src/puter-js/dist' 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.361s) [puter.js:webpack-watch:2] } 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.373s) [puter.js:webpack-watch:2] npm ERR! Lifecycle script `start-webpack` failed with error:  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.375s) [puter.js:webpack-watch:2] npm ERR! Error: command failed  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.378s) [puter.js:webpack-watch:2] npm ERR!   in workspace: @heyputer/[email protected]  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.379s) [puter.js:webpack-watch:2] npm ERR!   at location: /opt/puter/app/src/puter-js  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.380s) [puter.js:webpack-watch:2] npm notice  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.381s) [puter.js:webpack-watch:2] npm notice New minor version of npm available! 10.5.0 -> 10.9.1 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.383s) [puter.js:webpack-watch:2] npm notice Changelog: <[https://github.com/npm/cli/releases/tag/v10.9.1>](https://github.com/npm/cli/releases/tag/v10.9.1%3E) 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.384s) [puter.js:webpack-watch:2] npm notice Run `npm install -g [email protected]` to update! 
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.385s) [puter.js:webpack-watch:2] npm notice  
[ Dev Console ]
Gputer> G
A[INFO::__dev-watcher] (6.392s) [puter.js:webpack-watch:exit] Process exited (1) 
[ Dev Console ]
Gputer> G
A[NOTICE_ME::services-container] (6.708s) services:event boot.ready 
 args: []

mihcox avatar Nov 27 '24 20:11 mihcox

Bumping this again for review, appreciate it.

mihcox avatar Dec 02 '24 22:12 mihcox

The above errors are related to SQLLite and package dependant, I can not help with that.

AllofTheThangz avatar Dec 09 '24 02:12 AllofTheThangz

Okay, i was able to get past that error, and now after setting it to reverse proxy, I see a simple blue screen. The only error left in my log is:

[INFO::__dev-watcher] (5.213s) [git:rollup-watch:2] (!) Circular dependency [INFO::__dev-watcher] (5.216s) [git:rollup-watch:2] src/subcommands/exports.js -> src/subcommands/help.js -> src/subcommands/exports.js [INFO::__dev-watcher] (5.217s) [git:rollup-watch:2] [!] (plugin copy) Error: EACCES: permission denied, mkdir '/opt/puter/app/src/git/dist' [INFO::__dev-watcher] (5.218s) [git:rollup-watch:2] Error: EACCES: permission denied, mkdir '/opt/puter/app/src/git/dist' [INFO::__dev-watcher] (5.219s) [git:rollup-watch:2]
[INFO::__dev-watcher] (5.220s) [git:rollup-watch:2]

mihcox avatar Dec 11 '24 21:12 mihcox

It's not creating the server data due to this:

INFO::__dev-watcher] (5.217s) [git:rollup-watch:2] [!] (plugin copy) Error: EACCES: permission denied, mkdir '/opt/puter/app/src/git/dist' [INFO::__dev-watcher] (5.218s) [git:rollup-watch:2] Error: EACCES: permission denied, mkdir '/opt/puter/app/src/git/dist'

Map /opt/ to the appdata_folder/opt/

On Wed, Dec 11, 2024, 4:04 PM mihcox @.***> wrote:

Okay, i was able to get past that error, and now after setting it to reverse proxy, I see a simple blue screen. The only error left in my log is:

[INFO::__dev-watcher] (5.213s) [git:rollup-watch:2] (!) Circular dependency [INFO::__dev-watcher] (5.216s) [git:rollup-watch:2] src/subcommands/ exports.js -> src/subcommands/help.js -> src/subcommands/exports.js [INFO::__dev-watcher] (5.217s) [git:rollup-watch:2] [!] (plugin copy) Error: EACCES: permission denied, mkdir '/opt/puter/app/src/git/dist' [INFO::__dev-watcher] (5.218s) [git:rollup-watch:2] Error: EACCES: permission denied, mkdir '/opt/puter/app/src/git/dist' [INFO::__dev-watcher] (5.219s) [git:rollup-watch:2] [INFO::__dev-watcher] (5.220s) [git:rollup-watch:2]

— Reply to this email directly, view it on GitHub https://github.com/HeyPuter/puter/issues/645#issuecomment-2537173141, or unsubscribe https://github.com/notifications/unsubscribe-auth/APUFLHKKWKLMHVYMIIHJZK32FCSD7AVCNFSM6AAAAABLXT4FNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZXGE3TGMJUGE . You are receiving this because you commented.Message ID: @.***>

AllofTheThangz avatar Dec 11 '24 21:12 AllofTheThangz

i have done that, and the opt folder now generates a /opt/app folder, but it is not able to write into it?

image

image

image

image

mihcox avatar Dec 11 '24 21:12 mihcox

It appears that the dir is not permissioned for the correct UID/PID

On Wed, Dec 11, 2024, 4:50 PM mihcox @.***> wrote:

i have done that, and the opt folder now generates a /opt/app folder, but it is not able to write into it?

image.png (view on web) https://github.com/user-attachments/assets/fa008d7f-b5f6-46b2-b80d-548bff56fd45

image.png (view on web) https://github.com/user-attachments/assets/631e7541-997b-4e99-a76f-6824495a864b

image.png (view on web) https://github.com/user-attachments/assets/a2532b45-51f0-4851-9dbb-a1ee1745a094

image.png (view on web) https://github.com/user-attachments/assets/0c591d01-d685-4d01-9e83-b4a1af6a8693

— Reply to this email directly, view it on GitHub https://github.com/HeyPuter/puter/issues/645#issuecomment-2537266555, or unsubscribe https://github.com/notifications/unsubscribe-auth/APUFLHLHBIEKZMHDQNATDKT2FCXR3AVCNFSM6AAAAABLXT4FNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZXGI3DMNJVGU . You are receiving this because you commented.Message ID: @.***>

AllofTheThangz avatar Dec 11 '24 22:12 AllofTheThangz

Also, just noticed, container path should be /opt

Not /opt/

My mistake.

On Wed, Dec 11, 2024, 5:48 PM Simon Lively @.***> wrote:

It appears that the dir is not permissioned for the correct UID/PID

On Wed, Dec 11, 2024, 4:50 PM mihcox @.***> wrote:

i have done that, and the opt folder now generates a /opt/app folder, but it is not able to write into it?

image.png (view on web) https://github.com/user-attachments/assets/fa008d7f-b5f6-46b2-b80d-548bff56fd45

image.png (view on web) https://github.com/user-attachments/assets/631e7541-997b-4e99-a76f-6824495a864b

image.png (view on web) https://github.com/user-attachments/assets/a2532b45-51f0-4851-9dbb-a1ee1745a094

image.png (view on web) https://github.com/user-attachments/assets/0c591d01-d685-4d01-9e83-b4a1af6a8693

— Reply to this email directly, view it on GitHub https://github.com/HeyPuter/puter/issues/645#issuecomment-2537266555, or unsubscribe https://github.com/notifications/unsubscribe-auth/APUFLHLHBIEKZMHDQNATDKT2FCXR3AVCNFSM6AAAAABLXT4FNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZXGI3DMNJVGU . You are receiving this because you commented.Message ID: @.***>

AllofTheThangz avatar Dec 11 '24 22:12 AllofTheThangz

Container path updated:

image

Should the folder structure not be setup for nobody users like the rest of the folders/files in /data and /config?

image image

mihcox avatar Dec 11 '24 22:12 mihcox