i have a problem when use frappe with docker and custom app

Everything was working fine, and I created a new custom app for Drive that includes a function to prevent uploading the same file with the same name again. If a duplicate file is detected, an error message is displayed. The app was working perfectly on Frappe without Docker.

However, when I moved it to a Docker environment, built a new image with the custom app, and ran Frappe with Docker, I encountered several issues:

The Administrator user does not have access to Drive.
Other users can open Drive, but they can only view files; they cannot move or delete them.
Additional bugs appeared, but no error logs were generated to help diagnose the issues.

How can I resolve these problems? and this is link for my custom app GitHub - mostafa12345/drive_same_name_error and other custom app too for drive i get same error GitHub - mostafa12345/customer_drive_integration

does drive work without your hooks override?

yes work but when i do override at docker version only i get this error and after uninstall custom app still have the same problem too

Download easy-install.py

wget https://raw.githubusercontent.com/frappe/bench/develop/easy-install.py

Create following drive.json:

[
    {
        "url": "https://github.com/frappe/drive",
        "branch": "main"
    }
]

Build and deploy:

python3 easy-install.py build \
    --no-ssl \
    --project=drive \
    --http-port=8080 \
    --sitename=drive.localhost \
    --app=drive \
    --apps-json=./drive.json \
    --tag=frappe/drive:stable \
    --deploy \
    --image=frappe/drive \
    --version=stable

Access drive http://drive.localhost:8080

Above worked for me, I could upload the file to drive.

1 Like

yes i know drive working good but after i make customize at it with custom app i get this error but at normal working and at frappe without docker working too with new customize i made but only have a problem at frappe with docker when i make customize at it

Things to know:

  • /home/frappe/frappe-bench/sites is owned by 1000:1000 (uid:gid).
  • anything else is owned by root user
  • if you need anything to be accessed by frappe process it needs to be available for frappe user
  • Cases where custom paths are used, change the Containerfile to set permissions.