Hi folks, I have a self-hosted enterprise version ...
# ask-questions
n
Hi folks, I have a self-hosted enterprise version of Growthbook and for some reason all images we attach to experiments and comments are not displaying. They look alright when we first attach them, but a few moments later they get unavailable. Any idea of what might be happening?
s
What are you using for file storage? And do you see any error messages in the console?
n
@strong-mouse-55694 thanks for the help. We figured out that the reason this was happening was because we uploads are stored in the gb docker container by default. We are going to create a s3 bucket to persist the files, which should solve it
But I have another issue that hopefully you could help me figure out how to solve: One of our teams was trying to connect GrowthBook to an Athena db and the weirdest thing is happening: in our staging deploy of GrowthBook (version 4.2 - free) the connection works, but when we try to replicate the same thing in our production deployment (version 4.2 - enterprise license) we get an error “This query had an error with it the last time it ran: Region is missing”. The strangest thing is that this very same connection was working last week. Any suggestions on what might've happened?
s
How are you passing your Athena credentials? My guess would be that however you're doing it in staging isn't being replicated to prod. Especially, I'd ensure that AWS Region is configured properly and being passed through. https://docs.growthbook.io/warehouses/athena#remaining-configuration
n
but we tried passing the very same credentials that were working in staging in the production config, but for some reason it doesn't work. staging:
prod:
s
Not sure of anything in particular that might be happening, but I'd try: • I'd try refilling out the prod fields, just to ensure they're being sent. • I'd try redeploying to production, to ensure that versions are truly up to date, etc. • Ensure there aren't any env variables that are overriding values you're setting in GrowthBook
n
thanks, @strong-mouse-55694 We'll try your recommendation. Going back to the previous issue with the images not saving: we made the alterations in our config.yaml file to altering the
UPLOAD_METHOD:
to
s3
and adding the env var
S3_BUCKET:
pointing to our s3 bucket. but when trying to attach images to our experiments in growthbook we are now getting the following error:
s
This seems like GrowthBook is expecting local uploads. You need to ensure that your environment is configured for s3, as noted here: https://docs.growthbook.io/self-host/env#file-uploads
a
We have set everything properly. However, the
POST
to
/upload/signed-url-for-upload
returns 200 OK, but it returns a file it does not exist (because the upload failed I assume). So, when the front-end tries to use `filePath`/`fileUrl`/`signedUrl` from the back-end response, it fails
image.png
We can't find any error log or anything else pointing us in the right direction.
s
Are the files being created at all in s3?
a
No. S3 is empty
s
Ok. It seems like you're getting the signed URL is successful, but the image upload isn't. Here are a few other steps to take: • Ensure that
S3_BUCKET
and
S3_REGION
are set correctly. Sounds like you already checked this. • Enable bucket ACL and set ownership to Bucket owner preferred. • Make sure the bucket is accessible • Make sure cors is set up correctly.
In your screenshot, what's the failed request after the signed_url_for_upload?
a
I do not have the
S3_REGION
set. Yet, judging by the code, I believe it's not necessary. I believe the bucket permissions are just fine. Going to double check though. It's a request for https://s3.amazonaws.com/
s
It could be related. For the failed upload img, does that network request include any additional details?
a
Copy code
{
  "signedUrl": "<https://MY-BUCKET.s3.amazonaws.com/org_1j5bol31mg9ilcxp/2025-12/img_29eee780-a473-4ccd-aa33-cdab4cef7f25.png?Content-Type=image%2Fpng&A-BUNCH-OF-AWS-HEADERS>",
  "fileUrl": "<https://MY-BUCKET.s3.amazonaws.com/org_1j5bol31mg9ilcxp/2025-12/img_29eee780-a473-4ccd-aa33-cdab4cef7f25.png>",
  "filePath": "org_1j5bol31mg9ilcxp/2025-12/img_29eee780-a473-4ccd-aa33-cdab4cef7f25.png",
  "expiresAt": "2025-12-12T20:10:26.310Z"
}
That's the response of https://MY-HOST/upload/signed-url-for-upload My sysadmin just confirmed the application was able to perform the assume role correctly (confirmed at CloudTrail). Also, we were able to PutObject from the pod running GrowthBook