Skip to content

[BUG] php artisan bookstack:update-url can't use $FILE__DB_PASSWORD #237

@arajczy

Description

@arajczy

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

running podman exec -it bookstack php /app/www/artisan bookstack:update-url <old-url> <new-url>
when using the environment FILE__DB_PASSWORD

results in:

PDOException

SQLSTATE[HY000] [1045] Access denied for user 'bookstack'@'10.0.0.2' (using password: YES)

at /app/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:65
61▕ * @return \PDO
62▕ /
63▕ protected function createPdoConnection($dsn, $username, $password, $options)
64▕ {
➜ 65▕ return new PDO($dsn, $username, $password, $options);
66▕ }
67▕
68▕ /
*
69▕ * Handle an exception that occurred during connect execution.

 +6 vendor frames

7 /app/www/app/Console/Commands/UpdateUrlCommand.php:96
Illuminate\Database\Connection::getPdo()

8 /app/www/app/Console/Commands/UpdateUrlCommand.php:59
BookStack\Console\Commands\UpdateUrlCommand::replaceValueInTable()

Expected Behavior

if I am using the environment DB_PASSWORD instead of FILE__DB_PASSWORD the cli command runs without error.

Steps To Reproduce

set container environment FILE__DB_PASSWORD from podman secret then run php /app/www/artisan bookstack:update-url <old-url> <new-url> inside the running container.

Environment

- OS: Fedora 40
- How docker service was installed: sudo dnf install -y podman

CPU architecture

x86-64

Docker creation

[Unit]
Description=BookStack Container
Wants=mariadb.service
After=mariadb.service

[Container]
ContainerName=bookstack
Environment=APP_URL=https://example.com
Environment=DB_HOST=mariadb
Environment=DB_USERNAME=bookstack
Environment=DB_DATABASE=bookstack
Environment=FILE__APP_KEY=/run/secrets/bookstack-appkey
Environment=FILE__DB_PASSWORD=/run/secrets/bookstack-db-pass
Environment=QUEUE_CONNECTION=database
HostName=bookstack
Image=lscr.io/linuxserver/bookstack:latest
Network=mariadb.network
Notify=common
PublishPort=8080:80/tcp
Secret=bookstack-appkey
Secret=bookstack-db-pass
Timezone=local
Volume=bookstack.volume:/config

[Service]
Restart=on-failure
TimeoutStopSec=70

[Install]
WantedBy=default.target

Container logs

[migrations] started
[migrations] 01-nginx-site-confs-default: skipped
[migrations] 02-default-location: skipped
[migrations] done
usermod: no changes
───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝

   Brought to you by linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    911
User GID:    911
───────────────────────────────────────
Linuxserver.io version: v24.10-ls169
Build-date: 2024-10-14T15:22:13+00:00
───────────────────────────────────────

using keys found in /config/keys
Waiting for DB to be available

   INFO  Nothing to migrate.

[custom-init] No custom files found, skipping...
*** Starting Async Action Queue ***
[ls.io-init] done.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions