File permission flags are being lost when uploaded to volume through Filebrowser
I am trying to upload some files that my Browserless image needs to access to a volume via Filebrowser, but I am running into issues. They need 755 permissions and I think that when I upload them to the volume with Filebrowser, its losing that (I've modified these on my computer before uploading).
I tried modifying the permissions through the start command but it got stuck on "deploying".
110 Replies
it got stuck on deploying either because railway's ongoing issue or your start command was wrong and filebrowser never started
my start command was
chmod 755 /usr/src/app/chrome-extensions/chrome-extension
(I forgot to mention that after i uploaded the folder to the volume, i disconnected it and reconnected it to the browserless instance at /usr/src/app/chrome-extensions)
The big picture issue is getting the files onto that volume with the correct permission flags
I was able to make a custom start command with ls -l dir in front of teh real start command to see the permissions, and they were in fact unchanged (correct). I'm now trying to find what the issue is.what is the actual error you are getting though
I have a chrome extension that i am trying to use with a Browserless puppeteer instance. It is working when I run it locally using chrome on my laptop with the extension. It is also working when i use browserless with the extension added on a Browserless docker image. It isn't working when I pushed it to railway and have teh extension loaded onto the volume.
im not receiving a specific error, the extension just isnt working. Previous issues ive run into that have had this same result is the extension not having
drwxr-xr-x
permissions, however i've confirmed that it has this on the volume.are you aware the template deploys browserless v1?
no i was not
so would the best solution be to deploy the browserless instance myself and try?
is there an advantage to sticking with v1?
they dropped support for some library so i feel like that makes the template limited in its use if i went with v2
are you running v2 locally?
yes
as opposed to another approach to hosting it.
is using v1 out of the question for you?
it is due to the fact that I cannot figure out how i would fix this issue of extensions not working. I want to try and isolate the problem as much as i can
use v1 locally and get extensions working?
that’s another option yes
but i would prefer to not limit myself to new features as many of them would be useful for my project and they’re only available on v2. if i have to find workarounds that’s also fine
have you taken a look at repo that browserless deploys from?
yes and that’s what i’m gonna try and deploy
thats already what is deploying
i thought it was deploying v1
it is
GitHub
GitHub - browserless/browserless: Deploy headless browsers in Docke...
Deploy headless browsers in Docker. Run on our cloud or bring your own. Free for non-commercial uses. - browserless/browserless
im talkin ab that repo
which is the updated one
you will lose support for private networking
ooh
thats a good point
theres still the token authenticaiton
so other than latency security wont be an issue i dont think
egress fees
oh ic
but do you think they would be less than if i just hosted on a vps?
and i dont think that it would take much bandwidth
i think you should use v1, if you have a good enough usecase for v2, i will make you a v2 template
i definitely dont think ill need a v2
tempate
me neither
i can always use teh docker image and deploy that for v2 if needed
you will lose private networking support
right
but other than a small increase in egress fees it won't be an issue right
and i wasnt planning on using private networking for the code anyways actualy since i was gonna use cloud run
never say small egress
because i dont need it to be running 24/7
and its within the free tier i believe
use app sleeping on railway then
i need it to scale though
replicas
idk how to use those 😭
but its an equivalent?
i can def use them
scale in what direction?
horizontally
why is that
because of the
ohh shoot
by using browserless
i dont need to anymore
previously it was because of how it wasnt good to run puppteer scripts that would have concurrent runs on one environment
but browserless may have removed the need for that
either way i need to fix this issue with extensions first
run v1 locally, get extensions working
thats what ill do if this doenst work
i just want to try and get it working as easily as possible first
v1 locally is the way to go for sure
okay
just because of how important that egress fee is?
it could be pennys, it could be dollars, i dont want to see another help thread saying my egress is high can i have a refund 😆
lmao aight
why can't i use private networking just on the docker container
browserless itself does not support ipv6
gotcha
ooooh
its working i think
yep its working
v1 locally?
no v2 docker
ima do this now
the reason im hesitatnt though is because it is doing it in the v2 version using chromium's default way to use extensions, so i'm not sure what other possible way there would be to do it if that doesnt work. Browserless definitely doesn't have support for that.
it could be the way that the launch args are sent to the browserless instance though..
if you cant make it work with v1 locally i will make you a browserless v2 template
but please try with v1 first
alright
do we got a deal?
yep
thats actually great
because i think you'll be able to help me find out how to do this in v1 very quickly
sounds good, keep me updated
never done this before
have you seen --args been used with chromium before in any capacity
whether its selenium or puppeteer or anything else
yes, you need those to run as root
right
so in v2
i use dynamic launch args to pass those over and specify the extension location
Launch Options | Browserless.io
Currently, Browserless V2 is available in production via two domains: production-sfo.browserless.io and production-lon.browserless.io
& they are added to the end of the wss endpoint
i need to find out how to do this in the first version
does v1 even support that?
i dont think they do using dynamic launch args
because 1. it didnt work (and it does on v2 without changing the code) and 2. theres this text on the docs page.
im gonna look into it thuogh
i found something related to building browserless that i dont understand, you might though since you made the template
GitHub
GitHub - browserless/browserless at v1
Deploy headless browsers in Docker. Run on our cloud or bring your own. Free for non-commercial uses. - GitHub - browserless/browserless at v1
#Webdriver (selenium)
I didn't build anything
okay
well the reason i don't understand this code is that in browserless, you dont use selenium or anything. you just connect to the WS
actually i think thats how it would be done in selenium
selenium is just another library like puppeteer
right
yeah ive used it
im gonna keep looking into how to specify those args
DEFAULT_LAUNCH_ARGS
is something i came across that was deprecated in v2
it probably won't be in v1
im gonna try it
Okay you might be able to help with this part. Its passed in alongside an array of strings args. Will it matter if i just put this array in the environmental variable editor, will it be parsed as a string?
yeah that should work fine
alr
i have to go for a bit but i really appreciate it
no problem!
I think it will work. I can’t try it right now because i’m on my phone but it’s marked as deprecated on the v2 migration
GitHub
browserless/MIGRATION-2.0.md at main · browserless/browserless
Deploy headless browsers in Docker. Run on our cloud or bring your own. Free for non-commercial uses. - browserless/browserless
oh yeah
Drop support for Selenium and Webdriver.thats why im still using v1
aight im about to try it
It's accepting the launch arguments but the chrome extension isnt being loaded
it acknowledges them in the info statement when the browserless service starts
someone else identified the issue previously for v1 and a solution was never posted:
https://github.com/browserless/browserless/issues/799
GitHub
Support Chrome Extensions · Issue #799 · browserless/browserless
Is your feature request related to a problem? Please describe. I want to be able to install chrome extensions in the running chrome browser. Describe the solution you'd like I would like to be ...
well that's unfortunate
yeah ive been trying for ab 4 hours now
lmk if u make a v2 temp
good timing
whys that
working on it right now
amazing
Solution
let me know if there are any issues
private endpoitns are supposed to work right?
yes private networking is supported
apparently not
its crashing
this error which is caused by a ws not workign correctly
are those logs from your app, or the browserless service
app
let me make sure its using the env varibale rq
cuz i have it on a gh branch
that error doesnt really even look like it has anything to do with browserless
im testing it using the public endpoint
but im 90% sure that this is just what happens when its a bad endpoint
what client lib?
puppeteer
wait hmm its happenign with public as well
this is really weird 1 sec
okay well to be fair i didnt test it
im gonna test it with the v1 endpoint
Okay it works when i use v1 public
so its def an issue with the endpoint somehow
okay ill test the v2 template with puppetter
v1 public & private work
v2 public & private dont work
got it working, the browserless docs are outdated so therefor the
BROWSER_WS_ENDPOINT
variable the template came with was wrong for v2
hard refresh your browser and deploy the browserless v2 template againaight
preciate it
let me know if it still doesn't work
@celebrations - did the template work for you?
yep its workign great
awsome