mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-08 19:06:06 +03:00
v23.06.2 Upload images to s3 doesn't work #3952
Closed
opened 2026-02-05 07:56:16 +03:00 by OVERLORD
·
20 comments
No Branch/Tag Specified
development
further_theme_development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
🐛 Bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#3952
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @yoghiyb on GitHub (Aug 3, 2023).
Describe the Bug
The error is "File path /updates/images/gallery/{image_name} could nto be uploaded to.
like https://github.com/BookStackApp/BookStack/issues/2739
Steps to Reproduce
my poilicy
Expected Behaviour
it shouldn't error
Screenshots or Additional Context
Browser Details
No response
Exact BookStack Version
v23.06.2
PHP Version
8.2
Hosting Environment
Docker
@ssddanbrown commented on GitHub (Aug 3, 2023):
Hi @yoghiyb,
Can you get details of the error event from your BookStack error log?:
https://www.bookstackapp.com/docs/admin/debugging/
@yoghiyb commented on GitHub (Aug 3, 2023):
sure, @ssddanbrown
@ssddanbrown commented on GitHub (Aug 3, 2023):
@yoghiyb Thanks, unfortuantely that cuts off some important lines.
Can you show the lines from the start of an error (where the date is shown) followed by
production.ERROR, along with the next few lines after it (Up to about#10).@yoghiyb commented on GitHub (Aug 3, 2023):
@ssddanbrown sorry for the previous mistake,
this is the full log that i regenerated with a different file
Details
@yoghiyb commented on GitHub (Aug 4, 2023):
@ssddanbrown any update for this?
@ssddanbrown commented on GitHub (Aug 4, 2023):
@yoghiyb No. I'd need to test and attempt to replicate on S3. Not sure when I'll get round to that.
@oxismailxo commented on GitHub (Sep 2, 2023):
Guys, i have the same issue

@yoghiyb please did you find any solution?
Thanks.
@ssddanbrown commented on GitHub (Sep 3, 2023):
I've just tested AWS S3 usage on my dev instance (BookStack ~v23.08). All appears to work as expected.
I get that there are a lot of options and variation within S3 that could cause different behaviour though.
I'd imagine the "Block public access" setting has to be off since we set public ACLs on images upon upload, so that's maybe something to check.
@oxismailxo commented on GitHub (Sep 3, 2023):
@ssddanbrown thank you for your intervention & time, here is my S3 config:
Block public access=OFF

1- Permissions -> Bucket policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bookstack-wiki-test/uploads/"
}
]
}
/////////////////////////////////////////////////////////////////////////////////
2- IAM user Permissions policies:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": [
"arn:aws:s3:::bookstack-wiki-test/",
"arn:aws:s3:::bookstack-wiki-test"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::bookstack-wiki-test/"
}
]
}
NOTE-1: images are uploaded successfully to S3 but the error shows up:

NOTE-2: When I upload attachments the error doesn't show up!
I hope this information helps.
Thank you again @ssddanbrown !
@deanoj commented on GitHub (Sep 11, 2023):
The upload is failing here: https://github.com/BookStackApp/BookStack/blob/development/app/Uploads/ImageService.php#L220
If you comment out that line - upload works as expected.
@robertjustjones commented on GitHub (Sep 12, 2023):
Try this hack to avoid that line.
@oxismailxo commented on GitHub (Sep 14, 2023):
@robertjustjones adding STORAGE_S3_ENDPOINT=https://s3.amazonaws.com not worked for me !

the error when uploading images:

@Joespink commented on GitHub (Sep 14, 2023):
@oxismailxo
Need to add the region aswell - "https://s3.eu-west-2.amazonaws.com" works for me
@ssddanbrown commented on GitHub (Sep 14, 2023):
Yeah,
STORAGE_S3_ENDPOINTwill be region dependent, if setting manually for AWS.From my view, this should work though. Happy to hear from anyone more experienced with AWS what might be required here, and why this appears to work for me but not others (Specifically this is the action of setting ACLs to make images public), especially as from the above it has been shown to be failing for those with
PutObjectAclpermissions.@oxismailxo commented on GitHub (Sep 14, 2023):
Thank you so much @Joespink ! finally worked for me after adding STORAGE_S3_ENDPOINT=https://s3.eu-west-1.amazonaws.com/,

thank you, everyone!
@nathanclayton commented on GitHub (Sep 19, 2023):
That makes sense, since AWS defaults all S3 buckets to private by default now, and if you have a policy in place to disable public sharing (instead sharing the data through a cloudfront endpoint), it could cause it to error out.
@nurradityam commented on GitHub (Jan 11, 2024):
i can confirm digital ocean spaces (s3 compatible) is also set permission to private as default, any easy workaround for this?
somehow i can connect by using this url structure:
STORAGE_S3_ENDPOINT=https://(region).digitaloceanspaces.com
STORAGE_URL=https://(bucket).(region).digitaloceanspaces.com
@jasonpincin commented on GitHub (Aug 22, 2024):
Ever figure out how to work around this on digital ocean?
@ssddanbrown commented on GitHub (Aug 23, 2024):
@nurradityam @jasonpincin Worth having a read of my comment here for DigitalOcean: https://github.com/BookStackApp/BookStack/issues/4556#issuecomment-1723231342
@ssddanbrown commented on GitHub (Sep 13, 2025):
I'm going to go ahead and close this off since there's been no further recent discussion, and since I'm pretty sure I altered the permission application (which is the problematic element in many of the above comments) to soft-fail instead of hard-fail.