Store images and files in MySQL Database #2795

Closed
opened 2026-02-05 05:13:45 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @reytechsam on GitHub (May 17, 2022).

Describe the feature you'd like

Offloading attachments and images from bookstack already seems to be possible to an S3 storage.
https://www.bookstackapp.com/docs/admin/upload-config/

Now we were wondering if there is an easy way to add a possibility to load the files directly as a blob into the local MySql database instead of storing them in a file structure?

Describe the benefits this would bring to existing BookStack users

Currently, it is very difficult to maintain a dynamic multi-instance setup of Bookstack. This is because each time the entire Bookstack folder has to be recreated for each instance so that uploads and images are not visible to other instances. Also, each time we make a copy, we have to manually adjust our Apache configuration.

With the above solution, we would have the option to do multi-instance bookstacking by simply creating a database for each instance and configuring the SQL connection data dynamically in Bookstack.

Can the goal of this request already be achieved via other means?

No

Have you searched for an existing open/closed issue?

  • I have searched for existing issues and none cover my fundemental request

How long have you been using BookStack?

0 to 6 months

Additional context

No response

Originally created by @reytechsam on GitHub (May 17, 2022). ### Describe the feature you'd like Offloading attachments and images from bookstack already seems to be possible to an S3 storage. https://www.bookstackapp.com/docs/admin/upload-config/ Now we were wondering if there is an easy way to add a possibility to load the files directly as a blob into the local MySql database instead of storing them in a file structure? ### Describe the benefits this would bring to existing BookStack users Currently, it is very difficult to maintain a dynamic multi-instance setup of Bookstack. This is because each time the entire Bookstack folder has to be recreated for each instance so that uploads and images are not visible to other instances. Also, each time we make a copy, we have to manually adjust our Apache configuration. With the above solution, we would have the option to do multi-instance bookstacking by simply creating a database for each instance and configuring the SQL connection data dynamically in Bookstack. ### Can the goal of this request already be achieved via other means? No ### Have you searched for an existing open/closed issue? - [X] I have searched for existing issues and none cover my fundemental request ### How long have you been using BookStack? 0 to 6 months ### Additional context _No response_
OVERLORD added the 🔨 Feature Request label 2026-02-05 05:13:45 +03:00
Author
Owner

@ssddanbrown commented on GitHub (May 17, 2022):

Thanks for the request @reytechsam,

While this would technically be possible I guess, It would require a non-insignificant amount of effort to implement and maintain. I'm sure we'd also see a range of support issues be raised by such a feature as side-affects and MySQL limits are hit in various ways.

Fundamentally, your request also desires support for "dynamic multi-instance setup of Bookstack" which is also something I'm not really comfortable assuring support for.

To me, these requests really seem like devops challenges in very specific scenarios that won't be faced by the vast majority of setups. I'm not sure it makes sense to introduce complexity into the core project just to save complexity in a specific edge case.

@ssddanbrown commented on GitHub (May 17, 2022): Thanks for the request @reytechsam, While this would technically be possible I guess, It would require a non-insignificant amount of effort to implement and maintain. I'm sure we'd also see a range of support issues be raised by such a feature as side-affects and MySQL limits are hit in various ways. Fundamentally, your request also desires support for "dynamic multi-instance setup of Bookstack" which is also something I'm not really comfortable assuring support for. To me, these requests really seem like devops challenges in very specific scenarios that won't be faced by the vast majority of setups. I'm not sure it makes sense to introduce complexity into the core project just to save complexity in a specific edge case.
Author
Owner

@lrdshaper commented on GitHub (May 25, 2022):

@reytechsam I think what you want would be possible by using S3 as the storage option and pointing it to something like Minio. You would then only need to have a different S3 config for each Bookstack instance

@lrdshaper commented on GitHub (May 25, 2022): @reytechsam I think what you want would be possible by using S3 as the storage option and pointing it to something like Minio. You would then only need to have a different S3 config for each Bookstack instance
Author
Owner

@ssddanbrown commented on GitHub (May 29, 2022):

Thanks for the input @lrdshaper.

I'm going to go ahead and close this off since there's been no follow-up from the original requester. Feel free to respond and this can always be re-opened if there proves to be a legitimate and justified requirement.

@ssddanbrown commented on GitHub (May 29, 2022): Thanks for the input @lrdshaper. I'm going to go ahead and close this off since there's been no follow-up from the original requester. Feel free to respond and this can always be re-opened if there proves to be a legitimate and justified requirement.
Author
Owner

@reytechsam commented on GitHub (May 31, 2022):

@reytechsam I think what you want would be possible by using S3 as the storage option and pointing it to something like Minio. You would then only need to have a different S3 config for each Bookstack instance

Thanks for your reply, I was on vacation and could not respond. We will look into it and see if we can somehow make it work with the S3 storage!

@reytechsam commented on GitHub (May 31, 2022): > @reytechsam I think what you want would be possible by using S3 as the storage option and pointing it to something like Minio. You would then only need to have a different S3 config for each Bookstack instance Thanks for your reply, I was on vacation and could not respond. We will look into it and see if we can somehow make it work with the S3 storage!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#2795