Connection refused after upgrade #4546

Closed
opened 2026-02-05 09:04:45 +03:00 by OVERLORD · 0 comments
Owner

Originally created by @MapManagement on GitHub (Mar 30, 2024).

Attempted Debugging

  • I have read the debugging page

Searched GitHub Issues

  • I have searched GitHub for the issue.

Describe the Scenario

After upgrading my docker-compose stack (database and bookstack) container, bookstack isn't able to connect to the MariaDB instance anymore. However, I can ping the database host from the bookstack container and I'm also able to connect to the database via mariadb cli tool.

It seems like that my DB_DATABASE environment variable is stored in some file of the PHP app because of the first startup. I forgot to change the variable from "bookstack" to "bookstackapp" and now PHP tries to connect to the "bookstack" database. Even after changing it back in my environment file, it still tries to connect to "bookstack".

Is there anything I can do about it without completeley redeploying my database container?
I also added one of the log files I retrieved some errors from.

Exact BookStack Version

v24.02.2

Log Content

# /config/log/bookstack/laravel.log
Next Illuminate\Database\QueryException: SQLSTATE[HY000] [1044] Access denied for user 'bookstack'@'%' to database 'bookstack' (SQL: select * from `users` where `system_name` = public limit 1) in /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:760
Stack trace:
#0 /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback()
#1 /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(405): Illuminate\Database\Connection->run()
#2 /app/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2705): Illuminate\Database\Connection->select()
#3 /app/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2694): Illuminate\Database\Query\Builder->runSelect()
#4 /app/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3230): Illuminate\Database\Query\Builder->Illuminate\Database\Query\{closure}()
#5 /app/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2693): Illuminate\Database\Query\Builder->onceWithColumns()
#6 /app/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(710): Illuminate\Database\Query\Builder->get()
#7 /app/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(694): Illuminate\Database\Eloquent\Builder->getModels()
#8 /app/www/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(296): Illuminate\Database\Eloquent\Builder->get()
#9 /app/www/app/App/Providers/AuthServiceProvider.php(73): Illuminate\Database\Eloquent\Builder->first()
#10 /app/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(885): BookStack\App\Providers\AuthServiceProvider->BookStack\App\Providers\{closure}()
#11 /app/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(770): Illuminate\Container\Container->build()
#12 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(856): Illuminate\Container\Container->resolve()
#13 /app/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(706): Illuminate\Foundation\Application->resolve()
#14 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(841): Illuminate\Container\Container->make()
#15 /app/www/app/Users/Models/User.php(98): Illuminate\Foundation\Application->make()
#16 /app/www/app/App/helpers.php(38): BookStack\Users\Models\User::getGuest()
#17 /app/www/app/Settings/SettingService.php(62): user()
#18 /app/www/storage/framework/views/872733693c1f8e7d46945825e715cc42e8efb276.php(4): BookStack\Settings\SettingService->getForCurrentUser()
#19 /app/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(109): require('...')
#20 /app/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(110): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#21 /app/www/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\Filesystem\Filesystem->getRequire()
#22 /app/www/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(70): Illuminate\View\Engines\PhpEngine->evaluatePath()
#23 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(195): Illuminate\View\Engines\CompilerEngine->get()
#24 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(178): Illuminate\View\View->getContents()
#25 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(147): Illuminate\View\View->renderContents()
#26 /app/www/storage/framework/views/6212e6f16538942c654408b0bb64b92abc2fa8d6.php(16): Illuminate\View\View->render()
#27 /app/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(109): require('...')
#28 /app/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(110): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}()
#29 /app/www/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\Filesystem\Filesystem->getRequire()
#30 /app/www/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(70): Illuminate\View\Engines\PhpEngine->evaluatePath()
#31 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(195): Illuminate\View\Engines\CompilerEngine->get()
#32 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(178): Illuminate\View\View->getContents()
#33 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(147): Illuminate\View\View->renderContents()
#34 /app/www/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\View\View->render()
#35 /app/www/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\Http\Response->setContent()
#36 /app/www/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(57): Illuminate\Http\Response->__construct()
#37 /app/www/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(87): Illuminate\Routing\ResponseFactory->make()
#38 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(626): Illuminate\Routing\ResponseFactory->view()
#39 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(554): Illuminate\Foundation\Exceptions\Handler->renderHttpException()
#40 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(460): Illuminate\Foundation\Exceptions\Handler->prepareResponse()
#41 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(377): Illuminate\Foundation\Exceptions\Handler->renderExceptionResponse()
#42 /app/www/app/Exceptions/Handler.php(89): Illuminate\Foundation\Exceptions\Handler->render()
#43 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(233): BookStack\Exceptions\Handler->render()
#44 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(210): Illuminate\Foundation\Bootstrap\HandleExceptions->renderHttpResponse()
#45 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(270): Illuminate\Foundation\Bootstrap\HandleExceptions->handleException()
#46 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}()
#47 {main}

Hosting Environment

Docker compose template of LinuxServer.io on a Debian Bookworm host

Originally created by @MapManagement on GitHub (Mar 30, 2024). ### Attempted Debugging - [X] I have read the debugging page ### Searched GitHub Issues - [X] I have searched GitHub for the issue. ### Describe the Scenario After upgrading my docker-compose stack (database and bookstack) container, bookstack isn't able to connect to the MariaDB instance anymore. However, I can ping the database host from the bookstack container and I'm also able to connect to the database via mariadb cli tool. It seems like that my DB_DATABASE environment variable is stored in some file of the PHP app because of the first startup. I forgot to change the variable from "bookstack" to "bookstackapp" and now PHP tries to connect to the "bookstack" database. Even after changing it back in my environment file, it still tries to connect to "bookstack". Is there anything I can do about it without completeley redeploying my database container? I also added one of the log files I retrieved some errors from. ### Exact BookStack Version v24.02.2 ### Log Content ``` # /config/log/bookstack/laravel.log Next Illuminate\Database\QueryException: SQLSTATE[HY000] [1044] Access denied for user 'bookstack'@'%' to database 'bookstack' (SQL: select * from `users` where `system_name` = public limit 1) in /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:760 Stack trace: #0 /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback() #1 /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(405): Illuminate\Database\Connection->run() #2 /app/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2705): Illuminate\Database\Connection->select() #3 /app/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2694): Illuminate\Database\Query\Builder->runSelect() #4 /app/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3230): Illuminate\Database\Query\Builder->Illuminate\Database\Query\{closure}() #5 /app/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2693): Illuminate\Database\Query\Builder->onceWithColumns() #6 /app/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(710): Illuminate\Database\Query\Builder->get() #7 /app/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(694): Illuminate\Database\Eloquent\Builder->getModels() #8 /app/www/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(296): Illuminate\Database\Eloquent\Builder->get() #9 /app/www/app/App/Providers/AuthServiceProvider.php(73): Illuminate\Database\Eloquent\Builder->first() #10 /app/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(885): BookStack\App\Providers\AuthServiceProvider->BookStack\App\Providers\{closure}() #11 /app/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(770): Illuminate\Container\Container->build() #12 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(856): Illuminate\Container\Container->resolve() #13 /app/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(706): Illuminate\Foundation\Application->resolve() #14 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(841): Illuminate\Container\Container->make() #15 /app/www/app/Users/Models/User.php(98): Illuminate\Foundation\Application->make() #16 /app/www/app/App/helpers.php(38): BookStack\Users\Models\User::getGuest() #17 /app/www/app/Settings/SettingService.php(62): user() #18 /app/www/storage/framework/views/872733693c1f8e7d46945825e715cc42e8efb276.php(4): BookStack\Settings\SettingService->getForCurrentUser() #19 /app/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(109): require('...') #20 /app/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(110): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}() #21 /app/www/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\Filesystem\Filesystem->getRequire() #22 /app/www/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(70): Illuminate\View\Engines\PhpEngine->evaluatePath() #23 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(195): Illuminate\View\Engines\CompilerEngine->get() #24 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(178): Illuminate\View\View->getContents() #25 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(147): Illuminate\View\View->renderContents() #26 /app/www/storage/framework/views/6212e6f16538942c654408b0bb64b92abc2fa8d6.php(16): Illuminate\View\View->render() #27 /app/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(109): require('...') #28 /app/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(110): Illuminate\Filesystem\Filesystem::Illuminate\Filesystem\{closure}() #29 /app/www/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(58): Illuminate\Filesystem\Filesystem->getRequire() #30 /app/www/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(70): Illuminate\View\Engines\PhpEngine->evaluatePath() #31 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(195): Illuminate\View\Engines\CompilerEngine->get() #32 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(178): Illuminate\View\View->getContents() #33 /app/www/vendor/laravel/framework/src/Illuminate/View/View.php(147): Illuminate\View\View->renderContents() #34 /app/www/vendor/laravel/framework/src/Illuminate/Http/Response.php(69): Illuminate\View\View->render() #35 /app/www/vendor/laravel/framework/src/Illuminate/Http/Response.php(35): Illuminate\Http\Response->setContent() #36 /app/www/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(57): Illuminate\Http\Response->__construct() #37 /app/www/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(87): Illuminate\Routing\ResponseFactory->make() #38 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(626): Illuminate\Routing\ResponseFactory->view() #39 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(554): Illuminate\Foundation\Exceptions\Handler->renderHttpException() #40 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(460): Illuminate\Foundation\Exceptions\Handler->prepareResponse() #41 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(377): Illuminate\Foundation\Exceptions\Handler->renderExceptionResponse() #42 /app/www/app/Exceptions/Handler.php(89): Illuminate\Foundation\Exceptions\Handler->render() #43 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(233): BookStack\Exceptions\Handler->render() #44 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(210): Illuminate\Foundation\Bootstrap\HandleExceptions->renderHttpResponse() #45 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(270): Illuminate\Foundation\Bootstrap\HandleExceptions->handleException() #46 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}() #47 {main} ``` ### Hosting Environment Docker compose template of LinuxServer.io on a Debian Bookworm host
OVERLORD added the 🐕 Support label 2026-02-05 09:04:45 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#4546