Skip to content

Cache driver ignores DB_HOST variable #1087

@Byter09

Description

@Byter09

Describe the bug
Latest change in #1084 modifies the cache driver to "database", however that cache driver does not seem to respect the DB_HOST environment variable.

To Reproduce
Compose file:

services:
  speedtest:
    image: ghcr.io/alexjustesen/speedtest-tracker:latest
    container_name: speedtest
    environment:
      PUID: 1000
      PGID: 1001
      TZ: Europe/Berlin
      DB_CONNECTION: sqlite
      DB_HOST: /config/database.sqlite
      APP_URL: redacted
    volumes:
      - /redacted/speedtest/config:/config
    restart: unless-stopped
    labels:
      - traefik.enable=true
      - traefik.http.routers.speedtest.rule=Host(`redacted`)
      - traefik.http.services.speedtest.loadbalancer.server.port=80
      - com.centurylinklabs.watchtower.enable=true

networks:
  default:
    external:
      name: web

Expected behavior
I would expect the container to start up as always, with the cache driver using the given database.

Environment:

  • OS: Arch
  • Architecture: amd64

Logs

usermod: no changes
--------------------------------------------------------------------
 _______                       __ __                __
|     __|.-----.-----.-----.--|  |  |_.-----.-----.|  |_
|__     ||  _  |  -__|  -__|  _  |   _|  -__|__ --||   _|
|_______||   __|_____|_____|_____|____|_____|_____||____|
         |__|
 _______                   __
|_     _|.----.---.-.----.|  |--.-----.----.
  |   |  |   _|  _  |  __||    <|  -__|   _|
  |___|  |__| |___._|____||__|__|_____|__|
--------------------------------------------------------------------
To support Speedtest Tracker visit:
https://github.com/alexjustesen/speedtest-tracker
-------------------------------------
GID/UID
-------------------------------------
User uid:    1000
User gid:    1001
-------------------------------------
🔒 SSL_MODE has been set to MIXED, setting the web server to work in HTTP + HTTPS...
🐇  Configuring Speedtest Tracker...
🔒  Fixing app path file permissions...
✅  Permissions fixed.
🧹  Clearing any previous caches...
[2024-02-02 08:00:24] production.ERROR: Database file at path [/var/www/html/database/database.sqlite] does not exist. Ensure this is an absolute path to the database. (Connection: sqlite, SQL: PRAGMA foreign_keys = ON;) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 0): Database file at path [/var/www/html/database/database.sqlite] does not exist. Ensure this is an absolute path to the database. (Connection: sqlite, SQL: PRAGMA foreign_keys = ON;) at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829)
[stacktrace]
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback()
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\\Database\\Connection->run()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php(560): Illuminate\\Database\\Connection->statement()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/SQLiteConnection.php(36): Illuminate\\Database\\Schema\\Builder->enableForeignKeyConstraints()
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(272): Illuminate\\Database\\SQLiteConnection->__construct()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(75): Illuminate\\Database\\Connectors\\ConnectionFactory->createConnection()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(50): Illuminate\\Database\\Connectors\\ConnectionFactory->createSingleConnection()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(175): Illuminate\\Database\\Connectors\\ConnectionFactory->make()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(101): Illuminate\\Database\\DatabaseManager->makeConnection()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(210): Illuminate\\Database\\DatabaseManager->connection()
#10 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(98): Illuminate\\Cache\\CacheManager->createDatabaseDriver()
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(61): Illuminate\\Cache\\CacheManager->resolve()
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(72): Illuminate\\Cache\\CacheManager->store()
#13 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php(35): Illuminate\\Cache\\CacheManager->driver()
#14 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(908): Illuminate\\Cache\\CacheServiceProvider->Illuminate\\Cache\\{closure}()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(795): Illuminate\\Container\\Container->build()
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(957): Illuminate\\Container\\Container->resolve()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\\Foundation\\Application->resolve()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(942): Illuminate\\Container\\Container->make()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(1454): Illuminate\\Foundation\\Application->make()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(237): Illuminate\\Container\\Container->offsetGet()
#21 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(208): Illuminate\\Support\\Facades\\Facade::resolveFacadeInstance()
#22 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(349): Illuminate\\Support\\Facades\\Facade::getFacadeRoot()
#23 /var/www/html/app/Providers/RouteServiceProvider.php(27): Illuminate\\Support\\Facades\\Facade::__callStatic()
#24 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\\Providers\\RouteServiceProvider->boot()
#25 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#26 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#27 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#28 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\\Container\\BoundMethod::call()
#29 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1030): Illuminate\\Container\\Container->call()
#30 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1011): Illuminate\\Foundation\\Application->bootProvider()
#31 [internal function]: Illuminate\\Foundation\\Application->Illuminate\\Foundation\\{closure}()
#32 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1010): array_walk()
#33 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\\Foundation\\Application->boot()
#34 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(263): Illuminate\\Foundation\\Bootstrap\\BootProviders->bootstrap()
#35 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(447): Illuminate\\Foundation\\Application->bootstrapWith()
#36 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(199): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#37 /var/www/html/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle()
#38 {main}
[previous exception] [object] (Illuminate\\Database\\SQLiteDatabaseDoesNotExistException(code: 0): Database file at path [/var/www/html/database/database.sqlite] does not exist. Ensure this is an absolute path to the database. at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/SQLiteConnector.php:34)
[stacktrace]
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(221): Illuminate\\Database\\Connectors\\SQLiteConnector->connect()
#1 [internal function]: Illuminate\\Database\\Connectors\\ConnectionFactory->Illuminate\\Database\\Connectors\\{closure}()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1339): call_user_func()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(581): Illuminate\\Database\\Connection->getPdo()
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\\Database\\Connection->runQueryCallback()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\\Database\\Connection->run()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php(560): Illuminate\\Database\\Connection->statement()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/SQLiteConnection.php(36): Illuminate\\Database\\Schema\\Builder->enableForeignKeyConstraints()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(272): Illuminate\\Database\\SQLiteConnection->__construct()
#10 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(75): Illuminate\\Database\\Connectors\\ConnectionFactory->createConnection()
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(50): Illuminate\\Database\\Connectors\\ConnectionFactory->createSingleConnection()
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(175): Illuminate\\Database\\Connectors\\ConnectionFactory->make()
#13 /var/www/html/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(101): Illuminate\\Database\\DatabaseManager->makeConnection()
#14 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(210): Illuminate\\Database\\DatabaseManager->connection()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(98): Illuminate\\Cache\\CacheManager->createDatabaseDriver()
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(61): Illuminate\\Cache\\CacheManager->resolve()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(72): Illuminate\\Cache\\CacheManager->store()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php(35): Illuminate\\Cache\\CacheManager->driver()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(908): Illuminate\\Cache\\CacheServiceProvider->Illuminate\\Cache\\{closure}()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(795): Illuminate\\Container\\Container->build()
#21 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(957): Illuminate\\Container\\Container->resolve()
#22 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\\Foundation\\Application->resolve()
#23 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(942): Illuminate\\Container\\Container->make()
#24 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(1454): Illuminate\\Foundation\\Application->make()
#25 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(237): Illuminate\\Container\\Container->offsetGet()
#26 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(208): Illuminate\\Support\\Facades\\Facade::resolveFacadeInstance()
#27 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(349): Illuminate\\Support\\Facades\\Facade::getFacadeRoot()
#28 /var/www/html/app/Providers/RouteServiceProvider.php(27): Illuminate\\Support\\Facades\\Facade::__callStatic()
#29 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\\Providers\\RouteServiceProvider->boot()
#30 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#31 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#32 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#33 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\\Container\\BoundMethod::call()
#34 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1030): Illuminate\\Container\\Container->call()
#35 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1011): Illuminate\\Foundation\\Application->bootProvider()
#36 [internal function]: Illuminate\\Foundation\\Application->Illuminate\\Foundation\\{closure}()
#37 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1010): array_walk()
#38 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\\Foundation\\Application->boot()
#39 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(263): Illuminate\\Foundation\\Bootstrap\\BootProviders->bootstrap()
#40 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(447): Illuminate\\Foundation\\Application->bootstrapWith()
#41 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(199): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#42 /var/www/html/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle()
#43 {main}
"} 
In Connection.php line 829:
                                                                               
  Database file at path [/var/www/html/database/database.sqlite] does not exi  
  st. Ensure this is an absolute path to the database. (Connection: sqlite, S  
  QL: PRAGMA foreign_keys = ON;)                                               
                                                                               
In SQLiteConnector.php line 34:
                                                                               
  Database file at path [/var/www/html/database/database.sqlite] does not exi  
  st. Ensure this is an absolute path to the database.                         
                                                                               
s6-rc: warning: unable to start service laravel-automations: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
prog: fatal: stopping the container.

Additional context
I use sqlite for reasons (mostly to keep the amount of containers at a minimum), and because I previously used the version of the speedtest tracker this fork is based on. This allows me to keep my current setup related to backups and mounting structures.

If this is considered "unsupported" I'll just keep CACHE_DRIVER to file and you can close this issue :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions