Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem deploying docker with APP_KEY #57

Closed
Frankkz opened this issue Jan 28, 2025 · 19 comments
Closed

Problem deploying docker with APP_KEY #57

Frankkz opened this issue Jan 28, 2025 · 19 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@Frankkz
Copy link

Frankkz commented Jan 28, 2025

Using the default docker-compose and .env allows me to register and login, but as soon as I manually add an APP_KEY using a value generated with openssl rand -base64 32 it breaks.

The following error is displayed in the browser when redeploying using an APP_KEY:

The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: Unsupported cipher or incorrect key length. Supported ciphers are: aes-128-cbc, aes-256-cbc, aes-128-gcm, aes-256-gcm. Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}}

The docker compose file;

networks:
  investbrain-network:
    driver: bridge
services:
  app:
    image: investbrainapp/investbrain:latest
    container_name: investbrain-app
    restart: unless-stopped
    tty: true
    ports:
      - "${APP_PORT:-8000}:80"
    environment:
      APP_KEY: "sisvvGBmAFHxdges8gI+7AyBSmSpUwSSBngiIG8U8Hc=" # Generate a key using `openssl rand -base64 32`
      APP_URL: "http://localhost:8000"
      ASSET_URL: "http://localhost:8000"
      DB_CONNECTION: mysql
      DB_HOST: investbrain-mysql
      DB_PORT: 3306
      DB_DATABASE: ${DB_DATABASE:-investbrain}
      DB_USERNAME: ${DB_USERNAME:-investbrain}
      DB_PASSWORD: ${DB_PASSWORD:-investbrain}
      SESSION_DRIVER: redis
      QUEUE_CONNECTION: redis
      CACHE_STORE: redis
      REDIS_HOST: investbrain-redis
    volumes:
      - ./storage:/var/www/app/storage:delegated
    depends_on:
      - mysql
      - redis
    networks:
      - investbrain-network
  redis:
    image: redis:alpine
    container_name: investbrain-redis
    restart: unless-stopped
    tty: true
    networks:
      - investbrain-network
    volumes:
      - investbrain-redis:/data
  mysql:
    image: mysql:8.0
    container_name: investbrain-mysql
    restart: unless-stopped
    environment:
      MYSQL_DATABASE: ${DB_DATABASE:-investbrain}
      MYSQL_USER: ${DB_USERNAME:-investbrain}
      MYSQL_PASSWORD: ${DB_PASSWORD:-investbrain}
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:-investbrain}
    command: 
      - --cte-max-recursion-depth=25000
    volumes:
      - investbrain-mysql:/var/lib/mysql
    networks:
      - investbrain-network
volumes:
  investbrain-redis:
  investbrain-mysql:

I assume I may be overlooking something but I can't figure out what.

If any other logs are required, I'll provide them.

Thanks in advance.

@hackeresq
Copy link
Collaborator

When you add the APP_KEY after you've already created an account, it will invalidate your password. Try creating a new account.

@hackeresq hackeresq added the documentation Improvements or additions to documentation label Jan 29, 2025
@Frankkz
Copy link
Author

Frankkz commented Jan 29, 2025

Apologies I should have given additional information. This happens without having created an account myself.

These are the docker logs, starting from a clean installation with an APP_KEY set in the compose/.env file.

~/docker/investbrain $ docker compose -f investbrain-compose.yml up
[+] Running 4/3
 ✔ Network investbrain_investbrain-network  Created                                                                                                                                                                                                           0.1s 
 ✔ Container investbrain-redis              Created                                                                                                                                                                                                           0.1s 
 ✔ Container investbrain-mysql              Created                                                                                                                                                                                                           0.1s 
 ✔ Container investbrain-app                Created                                                                                                                                                                                                           0.0s 
Attaching to investbrain-app, investbrain-mysql, investbrain-redis
investbrain-mysql  | 2025-01-29 09:43:34+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.41-1.el9 started.
investbrain-redis  | 1:C 29 Jan 2025 09:43:34.974 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
investbrain-redis  | 1:C 29 Jan 2025 09:43:34.974 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
investbrain-redis  | 1:C 29 Jan 2025 09:43:34.974 * Redis version=7.4.2, bits=64, commit=00000000, modified=0, pid=1, just started
investbrain-redis  | 1:C 29 Jan 2025 09:43:34.974 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
investbrain-redis  | 1:M 29 Jan 2025 09:43:34.974 * Increased maximum number of open files to 10032 (it was originally set to 1024).
investbrain-redis  | 1:M 29 Jan 2025 09:43:34.974 * monotonic clock: POSIX clock_gettime
investbrain-redis  |                 _._                                                  
investbrain-redis  |            _.-``__ ''-._                                             
investbrain-redis  |       _.-``    `.  `_.  ''-._           Redis Community Edition      
investbrain-redis  |   .-`` .-```.  ```\/    _.,_ ''-._     7.4.2 (00000000/0) 64 bit
investbrain-redis  |  (    '      ,       .-`  | `,    )     Running in standalone mode
investbrain-redis  |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
investbrain-redis  |  |    `-._   `._    /     _.-'    |     PID: 1
investbrain-redis  |   `-._    `-._  `-./  _.-'    _.-'                                   
investbrain-redis  |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
investbrain-redis  |  |    `-._`-._        _.-'_.-'    |           https://redis.io       
investbrain-redis  |   `-._    `-._`-.__.-'_.-'    _.-'                                   
investbrain-redis  |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
investbrain-redis  |  |    `-._`-._        _.-'_.-'    |                                  
investbrain-redis  |   `-._    `-._`-.__.-'_.-'    _.-'                                   
investbrain-redis  |       `-._    `-.__.-'    _.-'                                       
investbrain-redis  |           `-._        _.-'                                           
investbrain-redis  |               `-.__.-'                                               
investbrain-redis  | 
investbrain-redis  | 1:M 29 Jan 2025 09:43:34.974 * Server initialized
investbrain-redis  | 1:M 29 Jan 2025 09:43:34.974 * Ready to accept connections tcp
investbrain-mysql  | 2025-01-29 09:43:35+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
investbrain-mysql  | 2025-01-29 09:43:35+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.41-1.el9 started.
investbrain-mysql  | 2025-01-29 09:43:35+00:00 [Note] [Entrypoint]: Initializing database files
investbrain-mysql  | 2025-01-29T09:43:35.215401Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-29T09:43:35.215442Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.41) initializing of server in progress as process 81
investbrain-mysql  | 2025-01-29T09:43:35.220453Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-app    | 
investbrain-app    | ====================== Validating environment...  ====================== 
investbrain-app    | 
investbrain-app    |  > storage/framework/cache is missing. Creating scaffold for storage directory... 
investbrain-app    | 
investbrain-app    |  > Creating symbolic link for app public storage... 
investbrain-app    | 
investbrain-app    |    INFO  The [public/storage] link has been connected to [storage/app/public].  
investbrain-app    | 
investbrain-app    | 
investbrain-app    | ====================== Running migrations...  ====================== 
investbrain-app    | 
investbrain-app    |    Illuminate\Database\QueryException 
investbrain-app    | 
investbrain-app    |   SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
investbrain-app    | 
investbrain-app    |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
investbrain-app    |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     822▕                 );
investbrain-app    |     823▕             }
investbrain-app    |     824▕ 
investbrain-app    |   ➜ 825▕             throw new QueryException(
investbrain-app    |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     827▕             );
investbrain-app    |     828▕         }
investbrain-app    |     829▕     }
investbrain-app    | 
investbrain-app    |       +42 vendor frames 
investbrain-app    | 
investbrain-app    |   43  artisan:13
investbrain-app    |       Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
investbrain-app    | 
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-mysql  | 2025-01-29T09:43:35.955443Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-29T09:43:37.783966Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
investbrain-app    | 
investbrain-app    |    Illuminate\Database\QueryException 
investbrain-app    | 
investbrain-app    |   SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
investbrain-app    | 
investbrain-app    |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
investbrain-app    |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     822▕                 );
investbrain-app    |     823▕             }
investbrain-app    |     824▕ 
investbrain-app    |   ➜ 825▕             throw new QueryException(
investbrain-app    |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     827▕             );
investbrain-app    |     828▕         }
investbrain-app    |     829▕     }
investbrain-app    | 
investbrain-app    |       +42 vendor frames 
investbrain-app    | 
investbrain-app    |   43  artisan:13
investbrain-app    |       Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
investbrain-app    | 
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-mysql  | 2025-01-29 09:43:42+00:00 [Note] [Entrypoint]: Database files initialized
investbrain-mysql  | 2025-01-29 09:43:42+00:00 [Note] [Entrypoint]: Starting temporary server
investbrain-mysql  | 2025-01-29T09:43:42.421838Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-29T09:43:42.422615Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.41) starting as process 125
investbrain-mysql  | 2025-01-29T09:43:42.431219Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-mysql  | 2025-01-29T09:43:42.671067Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-29T09:43:42.900637Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
investbrain-mysql  | 2025-01-29T09:43:42.900700Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
investbrain-mysql  | 2025-01-29T09:43:42.905776Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
investbrain-mysql  | 2025-01-29T09:43:42.928669Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
investbrain-mysql  | 2025-01-29T09:43:42.928690Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.41'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server - GPL.
investbrain-mysql  | 2025-01-29 09:43:42+00:00 [Note] [Entrypoint]: Temporary server started.
investbrain-mysql  | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
investbrain-mysql  | 2025-01-29 09:43:43+00:00 [Note] [Entrypoint]: Creating database investbrain
investbrain-mysql  | 2025-01-29 09:43:43+00:00 [Note] [Entrypoint]: Creating user investbrain
investbrain-mysql  | 2025-01-29 09:43:43+00:00 [Note] [Entrypoint]: Giving user investbrain access to schema investbrain
investbrain-mysql  | 
investbrain-mysql  | 2025-01-29 09:43:43+00:00 [Note] [Entrypoint]: Stopping temporary server
investbrain-mysql  | 2025-01-29T09:43:43.726139Z 13 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.41).
investbrain-app    | 
investbrain-app    |    Illuminate\Database\QueryException 
investbrain-app    | 
investbrain-app    |   SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
investbrain-app    | 
investbrain-app    |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
investbrain-app    |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     822▕                 );
investbrain-app    |     823▕             }
investbrain-app    |     824▕ 
investbrain-app    |   ➜ 825▕             throw new QueryException(
investbrain-app    |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     827▕             );
investbrain-app    |     828▕         }
investbrain-app    |     829▕     }
investbrain-app    | 
investbrain-app    |       +42 vendor frames 
investbrain-app    | 
investbrain-app    |   43  artisan:13
investbrain-app    |       Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
investbrain-app    | 
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-mysql  | 2025-01-29T09:43:45.987143Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.41)  MySQL Community Server - GPL.
investbrain-mysql  | 2025-01-29 09:43:46+00:00 [Note] [Entrypoint]: Temporary server stopped
investbrain-mysql  | 
investbrain-mysql  | 2025-01-29 09:43:46+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
investbrain-mysql  | 
investbrain-mysql  | 2025-01-29T09:43:46.912644Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-29T09:43:46.913457Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.41) starting as process 1
investbrain-mysql  | 2025-01-29T09:43:46.922492Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-mysql  | 2025-01-29T09:43:47.160095Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-29T09:43:47.424920Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
investbrain-mysql  | 2025-01-29T09:43:47.424951Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
investbrain-mysql  | 2025-01-29T09:43:47.428888Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
investbrain-mysql  | 2025-01-29T09:43:47.444011Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
investbrain-mysql  | 2025-01-29T09:43:47.444204Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.41'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
investbrain-app    | 
investbrain-app    |    INFO  Preparing database.  
investbrain-app    | 
investbrain-app    |   Creating migration table ...................................... 49.20ms DONE
investbrain-app    | 
investbrain-app    |    INFO  Running migrations.  
investbrain-app    | 
investbrain-app    |   0001_01_01_000000_create_users_table ......................... 120.76ms DONE
investbrain-app    |   0001_01_01_000002_create_failed_jobs_table ................... 164.68ms DONE
investbrain-app    |   2021_01_30_102537_create_portfolios_table ..................... 52.96ms DONE
investbrain-app    |   2021_01_30_112537_create_portfolio_users_table ............... 288.90ms DONE
investbrain-app    |   2021_02_25_041221_create_market_data_table Imported 69999 market data items successfully!
investbrain-app    | ......................... 3s DONE
investbrain-app    |   2021_02_25_041227_create_daily_change_table .................. 155.07ms DONE
investbrain-app    |   2021_02_25_041236_create_dividends_table ...................... 45.02ms DONE
investbrain-app    |   2021_02_25_041246_create_splits_table ......................... 40.68ms DONE
investbrain-app    |   2021_02_25_041257_create_transactions_table .................. 167.37ms DONE
investbrain-app    |   2021_09_06_014744_create_holdings_table ...................... 243.54ms DONE
investbrain-app    |   2024_07_30_012529_add_two_factor_columns_to_users_table ...... 288.26ms DONE
investbrain-app    |   2024_07_30_012537_create_personal_access_tokens_table ........ 107.67ms DONE
investbrain-app    |   2024_10_18_000001_add_reinvestment_columns ................... 189.31ms DONE
investbrain-app    |   2024_10_19_155635_create_connected_accounts_table ............ 408.21ms DONE
investbrain-app    |   2024_10_23_000001_create_import_jobs_table ................... 164.84ms DONE
investbrain-app    |   2024_10_30_000001_create_ai_chats_table ...................... 199.54ms DONE
investbrain-app    |   2024_11_05_000001_add_user_admin_column ...................... 105.08ms DONE
investbrain-app    | 
investbrain-app    | 
investbrain-app    | ====================== Spinning up Supervisor daemon...  ====================== 
investbrain-app    | 
investbrain-app    | 2025-01-29 09:43:57,754 INFO Set uid to user 0 succeeded
investbrain-app    | 2025-01-29 09:43:57,755 INFO supervisord started with pid 1
investbrain-app    | 2025-01-29 09:43:58,758 INFO spawned: 'nginx' with pid 23
investbrain-app    | 2025-01-29 09:43:58,761 INFO spawned: 'php' with pid 24
investbrain-app    | 2025-01-29 09:43:58,763 INFO spawned: 'queue-worker_00' with pid 25
investbrain-app    | 2025-01-29 09:43:58,764 INFO spawned: 'queue-worker_01' with pid 26
investbrain-app    | 2025-01-29 09:43:58,766 INFO spawned: 'scheduler' with pid 27
investbrain-app    | 2025-01-29 09:43:59,796 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-29 09:43:59,797 INFO success: php entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-29 09:43:59,797 INFO success: queue-worker_00 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-29 09:43:59,797 INFO success: queue-worker_01 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-29 09:43:59,797 INFO success: scheduler entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)


@Frankkz
Copy link
Author

Frankkz commented Jan 29, 2025

For comparison, this is the docker log when creating a clean install without setting APP_KEY.

It recognizes there's no APP_KEY and generates one on its own, which is expected behaviour. And I am able to access the login portal.

Then I;

  • Shut down the containers without creating a user.
  • Added APP_KEY specified in those logs
    Result:
  • I'm back at the error in post 1.
    No user created, only added the APP_KEY mentioned in this log.
~/docker/investbrain $ docker compose -f investbrain-compose.yml up
[+] Running 3/3
 ✔ Container investbrain-mysql  Created                                                                                                                                                                                                                       0.1s 
 ✔ Container investbrain-redis  Created                                                                                                                                                                                                                       0.1s 
 ✔ Container investbrain-app    Created                                                                                                                                                                                                                       0.1s 
Attaching to investbrain-app, investbrain-mysql, investbrain-redis
investbrain-mysql  | 2025-01-29 09:32:39+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.41-1.el9 started.
investbrain-redis  | 1:C 29 Jan 2025 09:32:39.021 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
investbrain-redis  | 1:C 29 Jan 2025 09:32:39.021 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
investbrain-redis  | 1:C 29 Jan 2025 09:32:39.021 * Redis version=7.4.2, bits=64, commit=00000000, modified=0, pid=1, just started
investbrain-redis  | 1:C 29 Jan 2025 09:32:39.021 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
investbrain-redis  | 1:M 29 Jan 2025 09:32:39.022 * Increased maximum number of open files to 10032 (it was originally set to 1024).
investbrain-redis  | 1:M 29 Jan 2025 09:32:39.022 * monotonic clock: POSIX clock_gettime
investbrain-redis  |                 _._                                                  
investbrain-redis  |            _.-``__ ''-._                                             
investbrain-redis  |       _.-``    `.  `_.  ''-._           Redis Community Edition      
investbrain-redis  |   .-`` .-```.  ```\/    _.,_ ''-._     7.4.2 (00000000/0) 64 bit
investbrain-redis  |  (    '      ,       .-`  | `,    )     Running in standalone mode
investbrain-redis  |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
investbrain-redis  |  |    `-._   `._    /     _.-'    |     PID: 1
investbrain-redis  |   `-._    `-._  `-./  _.-'    _.-'                                   
investbrain-redis  |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
investbrain-redis  |  |    `-._`-._        _.-'_.-'    |           https://redis.io       
investbrain-redis  |   `-._    `-._`-.__.-'_.-'    _.-'                                   
investbrain-redis  |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
investbrain-redis  |  |    `-._`-._        _.-'_.-'    |                                  
investbrain-redis  |   `-._    `-._`-.__.-'_.-'    _.-'                                   
investbrain-redis  |       `-._    `-.__.-'    _.-'                                       
investbrain-redis  |           `-._        _.-'                                           
investbrain-redis  |               `-.__.-'                                               
investbrain-redis  | 
investbrain-redis  | 1:M 29 Jan 2025 09:32:39.023 * Server initialized
investbrain-redis  | 1:M 29 Jan 2025 09:32:39.023 * Ready to accept connections tcp
investbrain-mysql  | 2025-01-29 09:32:39+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
investbrain-mysql  | 2025-01-29 09:32:39+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.41-1.el9 started.
investbrain-mysql  | 2025-01-29 09:32:39+00:00 [Note] [Entrypoint]: Initializing database files
investbrain-app    | 
investbrain-app    | ====================== Validating environment...  ====================== 
investbrain-app    | 
investbrain-app    |  > Oops! The required APP_KEY configuration is missing in your environment! 
investbrain-app    | 
investbrain-app    |  > Generating a key (see below) but this will NOT be persisted between container restarts. 
investbrain-app    | 
investbrain-app    |  > You should set this APP_KEY in your .env file! 
investbrain-app    | 
investbrain-app    | 
investbrain-app    | *******************************************************
investbrain-app    | * base64:BBu8yAGWflwvsm9uXiHao9Moq9G0ph/vuexNaclLwx0= *
investbrain-app    | *******************************************************
investbrain-app    | 
investbrain-app    |  > storage/framework/cache is missing. Creating scaffold for storage directory... 
investbrain-mysql  | 2025-01-29T09:32:39.360971Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-29T09:32:39.361014Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.41) initializing of server in progress as process 81
investbrain-app    | 
investbrain-app    |  > Creating symbolic link for app public storage... 
investbrain-mysql  | 2025-01-29T09:32:39.367453Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-app    | 
investbrain-app    |    INFO  The [public/storage] link has been connected to [storage/app/public].  
investbrain-app    | 
investbrain-app    | 
investbrain-app    | ====================== Running migrations...  ====================== 
investbrain-app    | 
investbrain-app    |    Illuminate\Database\QueryException 
investbrain-app    | 
investbrain-app    |   SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
investbrain-app    | 
investbrain-app    |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
investbrain-app    |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     822▕                 );
investbrain-app    |     823▕             }
investbrain-app    |     824▕ 
investbrain-app    |   ➜ 825▕             throw new QueryException(
investbrain-app    |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     827▕             );
investbrain-app    |     828▕         }
investbrain-app    |     829▕     }
investbrain-app    | 
investbrain-app    |       +42 vendor frames 
investbrain-app    | 
investbrain-app    |   43  artisan:13
investbrain-app    |       Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
investbrain-app    | 
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-mysql  | 2025-01-29T09:32:40.177668Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-29T09:32:42.031557Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
investbrain-app    | 
investbrain-app    |    Illuminate\Database\QueryException 
investbrain-app    | 
investbrain-app    |   SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
investbrain-app    | 
investbrain-app    |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
investbrain-app    |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     822▕                 );
investbrain-app    |     823▕             }
investbrain-app    |     824▕ 
investbrain-app    |   ➜ 825▕             throw new QueryException(
investbrain-app    |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     827▕             );
investbrain-app    |     828▕         }
investbrain-app    |     829▕     }
investbrain-app    | 
investbrain-app    |       +42 vendor frames 
investbrain-app    | 
investbrain-app    |   43  artisan:13
investbrain-app    |       Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
investbrain-app    | 
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-mysql  | 2025-01-29 09:32:46+00:00 [Note] [Entrypoint]: Database files initialized
investbrain-mysql  | 2025-01-29 09:32:46+00:00 [Note] [Entrypoint]: Starting temporary server
investbrain-mysql  | 2025-01-29T09:32:46.582032Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-29T09:32:46.582525Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.41) starting as process 125
investbrain-mysql  | 2025-01-29T09:32:46.591404Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-mysql  | 2025-01-29T09:32:46.836305Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-29T09:32:47.168282Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
investbrain-mysql  | 2025-01-29T09:32:47.168335Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
investbrain-mysql  | 2025-01-29T09:32:47.173659Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
investbrain-mysql  | 2025-01-29T09:32:47.197984Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.41'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server - GPL.
investbrain-mysql  | 2025-01-29T09:32:47.198057Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
investbrain-mysql  | 2025-01-29 09:32:47+00:00 [Note] [Entrypoint]: Temporary server started.
investbrain-mysql  | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
investbrain-mysql  | 2025-01-29 09:32:47+00:00 [Note] [Entrypoint]: Creating database investbrain
investbrain-mysql  | 2025-01-29 09:32:47+00:00 [Note] [Entrypoint]: Creating user investbrain
investbrain-mysql  | 2025-01-29 09:32:47+00:00 [Note] [Entrypoint]: Giving user investbrain access to schema investbrain
investbrain-mysql  | 
investbrain-mysql  | 2025-01-29 09:32:47+00:00 [Note] [Entrypoint]: Stopping temporary server
investbrain-mysql  | 2025-01-29T09:32:47.997964Z 13 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.41).
investbrain-app    | 
investbrain-app    |    Illuminate\Database\QueryException 
investbrain-app    | 
investbrain-app    |   SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
investbrain-app    | 
investbrain-app    |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
investbrain-app    |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     822▕                 );
investbrain-app    |     823▕             }
investbrain-app    |     824▕ 
investbrain-app    |   ➜ 825▕             throw new QueryException(
investbrain-app    |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     827▕             );
investbrain-app    |     828▕         }
investbrain-app    |     829▕     }
investbrain-app    | 
investbrain-app    |       +42 vendor frames 
investbrain-app    | 
investbrain-app    |   43  artisan:13
investbrain-app    |       Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
investbrain-app    | 
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-mysql  | 2025-01-29T09:32:50.202518Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.41)  MySQL Community Server - GPL.
investbrain-mysql  | 2025-01-29 09:32:51+00:00 [Note] [Entrypoint]: Temporary server stopped
investbrain-mysql  | 
investbrain-mysql  | 2025-01-29 09:32:51+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
investbrain-mysql  | 
investbrain-mysql  | 2025-01-29T09:32:51.181630Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-29T09:32:51.182415Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.41) starting as process 1
investbrain-mysql  | 2025-01-29T09:32:51.191429Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-mysql  | 2025-01-29T09:32:51.435518Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-29T09:32:51.678469Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
investbrain-mysql  | 2025-01-29T09:32:51.678497Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
investbrain-mysql  | 2025-01-29T09:32:51.682674Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
investbrain-mysql  | 2025-01-29T09:32:51.699683Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
investbrain-mysql  | 2025-01-29T09:32:51.699706Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.41'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
investbrain-app    | 
investbrain-app    |    INFO  Preparing database.  
investbrain-app    | 
investbrain-app    |   Creating migration table ...................................... 47.18ms DONE
investbrain-app    | 
investbrain-app    |    INFO  Running migrations.  
investbrain-app    | 
investbrain-app    |   0001_01_01_000000_create_users_table ......................... 113.88ms DONE
investbrain-app    |   0001_01_01_000002_create_failed_jobs_table .................... 85.14ms DONE
investbrain-app    |   2021_01_30_102537_create_portfolios_table ..................... 43.56ms DONE
investbrain-app    |   2021_01_30_112537_create_portfolio_users_table ............... 386.47ms DONE
investbrain-app    |   2021_02_25_041221_create_market_data_table Imported 69999 market data items successfully!
investbrain-app    | ......................... 3s DONE
investbrain-app    |   2021_02_25_041227_create_daily_change_table .................. 162.21ms DONE
investbrain-app    |   2021_02_25_041236_create_dividends_table ...................... 44.79ms DONE
investbrain-app    |   2021_02_25_041246_create_splits_table ......................... 38.34ms DONE
investbrain-app    |   2021_02_25_041257_create_transactions_table .................. 158.06ms DONE
investbrain-app    |   2021_09_06_014744_create_holdings_table ...................... 160.30ms DONE
investbrain-app    |   2024_07_30_012529_add_two_factor_columns_to_users_table ...... 376.76ms DONE
investbrain-app    |   2024_07_30_012537_create_personal_access_tokens_table ......... 98.07ms DONE
investbrain-app    |   2024_10_18_000001_add_reinvestment_columns ................... 173.06ms DONE
investbrain-app    |   2024_10_19_155635_create_connected_accounts_table ............ 332.83ms DONE
investbrain-app    |   2024_10_23_000001_create_import_jobs_table ................... 236.47ms DONE
investbrain-app    |   2024_10_30_000001_create_ai_chats_table ...................... 196.92ms DONE
investbrain-app    |   2024_11_05_000001_add_user_admin_column ...................... 101.71ms DONE
investbrain-app    | 
investbrain-app    | 
investbrain-app    | ====================== Spinning up Supervisor daemon...  ====================== 
investbrain-app    | 
investbrain-app    | 2025-01-29 09:33:01,818 INFO Set uid to user 0 succeeded
investbrain-app    | 2025-01-29 09:33:01,819 INFO supervisord started with pid 1
investbrain-app    | 2025-01-29 09:33:02,821 INFO spawned: 'nginx' with pid 27
investbrain-app    | 2025-01-29 09:33:02,824 INFO spawned: 'php' with pid 28
investbrain-app    | 2025-01-29 09:33:02,826 INFO spawned: 'queue-worker_00' with pid 29
investbrain-app    | 2025-01-29 09:33:02,829 INFO spawned: 'queue-worker_01' with pid 30
investbrain-app    | 2025-01-29 09:33:02,829 INFO spawned: 'scheduler' with pid 31
investbrain-app    | 2025-01-29 09:33:03,854 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-29 09:33:03,854 INFO success: php entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-29 09:33:03,854 INFO success: queue-worker_00 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-29 09:33:03,854 INFO success: queue-worker_01 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-29 09:33:03,854 INFO success: scheduler entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

@hackeresq
Copy link
Collaborator

I am working to try and reproduce. What OS are you on? x86 or arm?

@hackeresq hackeresq self-assigned this Jan 29, 2025
@Frankkz
Copy link
Author

Frankkz commented Jan 29, 2025

I am working to try and reproduce. What OS are you on? x86 or arm?

Manjaro(Arch linux), x86

@hackeresq
Copy link
Collaborator

After working on this some more - and dealing with a related issue - I think there were two things going on:

  1. Permissions issue where the ./storage directory was not correctly permissioned (which should be resolved with the latest tagged release v1.1.3)

  2. My docs weren't clear. The expected format for the APP_KEY is base64 and the key needs to be prefixed as such. Example:

APP_KEY=base64:vrF6lYJzIaiABUKmuB5NThm/l5Tn7UpkNvXVWNzmlU8

Since the logs couldn't be written, I cant be for sure; but I suspect that's why you got errors when having set an APP_KEY vs. not having it.

I'll update this in the docs so it's more clear for future!

Once v1.1.3 is built and pushed, can you give it another go and report back?

@Frankkz
Copy link
Author

Frankkz commented Jan 30, 2025

Did a quick test, repulled the image, changed the compose file to match recent changes.

The login page now succesfully loads when an APP_KEY is configured 👍. Registering a user works as expected.

I'll post the docker log when I'm back at my system. And do some further testing.

Edit:
Docker logs;

~/docker/investbrain  docker compose -f investbrain-compose.yml up
[+] Running 3/3
 ✔ Container investbrain-redis  Created                                                                                                                                                                                                                       0.1s 
 ✔ Container investbrain-mysql  Created                                                                                                                                                                                                                       0.1s 
 ✔ Container investbrain-app    Created                                                                                                                                                                                                                       0.0s 
Attaching to investbrain-app, investbrain-mysql, investbrain-redis
investbrain-redis  | 1:C 30 Jan 2025 11:35:23.780 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
investbrain-redis  | 1:C 30 Jan 2025 11:35:23.780 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
investbrain-redis  | 1:C 30 Jan 2025 11:35:23.780 * Redis version=7.4.2, bits=64, commit=00000000, modified=0, pid=1, just started
investbrain-redis  | 1:C 30 Jan 2025 11:35:23.780 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
investbrain-redis  | 1:M 30 Jan 2025 11:35:23.781 * Increased maximum number of open files to 10032 (it was originally set to 1024).
investbrain-redis  | 1:M 30 Jan 2025 11:35:23.781 * monotonic clock: POSIX clock_gettime
investbrain-redis  |                 _._                                                  
investbrain-redis  |            _.-``__ ''-._                                             
investbrain-redis  |       _.-``    `.  `_.  ''-._           Redis Community Edition      
investbrain-redis  |   .-`` .-```.  ```\/    _.,_ ''-._     7.4.2 (00000000/0) 64 bit
investbrain-redis  |  (    '      ,       .-`  | `,    )     Running in standalone mode
investbrain-redis  |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
investbrain-redis  |  |    `-._   `._    /     _.-'    |     PID: 1
investbrain-redis  |   `-._    `-._  `-./  _.-'    _.-'                                   
investbrain-redis  |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
investbrain-redis  |  |    `-._`-._        _.-'_.-'    |           https://redis.io       
investbrain-redis  |   `-._    `-._`-.__.-'_.-'    _.-'                                   
investbrain-redis  |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
investbrain-redis  |  |    `-._`-._        _.-'_.-'    |                                  
investbrain-redis  |   `-._    `-._`-.__.-'_.-'    _.-'                                   
investbrain-redis  |       `-._    `-.__.-'    _.-'                                       
investbrain-redis  |           `-._        _.-'                                           
investbrain-redis  |               `-.__.-'                                               
investbrain-redis  | 
investbrain-redis  | 1:M 30 Jan 2025 11:35:23.783 * Server initialized
investbrain-redis  | 1:M 30 Jan 2025 11:35:23.783 * Ready to accept connections tcp
investbrain-mysql  | 2025-01-30 11:35:23+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.41-1.el9 started.
investbrain-mysql  | 2025-01-30 11:35:23+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
investbrain-mysql  | 2025-01-30 11:35:24+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.41-1.el9 started.
investbrain-app    | 
investbrain-app    | ====================== Validating environment...  ====================== 
investbrain-app    | 
investbrain-app    |  > storage/framework/cache is missing. Creating scaffold for storage directory... 
investbrain-app    | 
investbrain-app    |  > Creating symbolic link for app public storage... 
investbrain-mysql  | 2025-01-30 11:35:24+00:00 [Note] [Entrypoint]: Initializing database files
investbrain-mysql  | 2025-01-30T11:35:24.114891Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-30T11:35:24.114946Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.41) initializing of server in progress as process 81
investbrain-mysql  | 2025-01-30T11:35:24.123527Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-app    | 
investbrain-app    |    INFO  The [public/storage] link has been connected to [storage/app/public].  
investbrain-app    | 
investbrain-app    | 
investbrain-app    | ====================== Running migrations...  ====================== 
investbrain-app    | 
investbrain-app    |    Illuminate\Database\QueryException 
investbrain-app    | 
investbrain-app    |   SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
investbrain-app    | 
investbrain-app    |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
investbrain-app    |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     822▕                 );
investbrain-app    |     823▕             }
investbrain-app    |     824▕ 
investbrain-app    |   ➜ 825▕             throw new QueryException(
investbrain-app    |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     827▕             );
investbrain-app    |     828▕         }
investbrain-app    |     829▕     }
investbrain-app    | 
investbrain-app    |       +42 vendor frames 
investbrain-app    | 
investbrain-app    |   43  artisan:13
investbrain-app    |       Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
investbrain-app    | 
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-mysql  | 2025-01-30T11:35:24.941132Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-30T11:35:26.722265Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
investbrain-app    | 
investbrain-app    |    Illuminate\Database\QueryException 
investbrain-app    | 
investbrain-app    |   SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
investbrain-app    | 
investbrain-app    |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
investbrain-app    |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     822▕                 );
investbrain-app    |     823▕             }
investbrain-app    |     824▕ 
investbrain-app    |   ➜ 825▕             throw new QueryException(
investbrain-app    |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     827▕             );
investbrain-app    |     828▕         }
investbrain-app    |     829▕     }
investbrain-app    | 
investbrain-app    |       +42 vendor frames 
investbrain-app    | 
investbrain-app    |   43  artisan:13
investbrain-app    |       Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
investbrain-app    | 
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-mysql  | 2025-01-30 11:35:31+00:00 [Note] [Entrypoint]: Database files initialized
investbrain-mysql  | 2025-01-30 11:35:31+00:00 [Note] [Entrypoint]: Starting temporary server
investbrain-mysql  | 2025-01-30T11:35:31.462650Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-30T11:35:31.463387Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.41) starting as process 125
investbrain-mysql  | 2025-01-30T11:35:31.471731Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-mysql  | 2025-01-30T11:35:31.705994Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-30T11:35:31.954979Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
investbrain-mysql  | 2025-01-30T11:35:31.955000Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
investbrain-mysql  | 2025-01-30T11:35:31.958906Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
investbrain-mysql  | 2025-01-30T11:35:31.988142Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
investbrain-mysql  | 2025-01-30T11:35:31.988161Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.41'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server - GPL.
investbrain-mysql  | 2025-01-30 11:35:31+00:00 [Note] [Entrypoint]: Temporary server started.
investbrain-mysql  | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
investbrain-mysql  | 2025-01-30 11:35:32+00:00 [Note] [Entrypoint]: Creating database investbrain
investbrain-mysql  | 2025-01-30 11:35:32+00:00 [Note] [Entrypoint]: Creating user investbrain
investbrain-mysql  | 2025-01-30 11:35:32+00:00 [Note] [Entrypoint]: Giving user investbrain access to schema investbrain
investbrain-mysql  | 
investbrain-mysql  | 2025-01-30 11:35:32+00:00 [Note] [Entrypoint]: Stopping temporary server
investbrain-mysql  | 2025-01-30T11:35:32.727920Z 13 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.41).
investbrain-mysql  | 2025-01-30T11:35:34.182056Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.41)  MySQL Community Server - GPL.
investbrain-app    | 
investbrain-app    |    Illuminate\Database\QueryException 
investbrain-app    | 
investbrain-app    |   SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`)
investbrain-app    | 
investbrain-app    |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
investbrain-app    |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     822▕                 );
investbrain-app    |     823▕             }
investbrain-app    |     824▕ 
investbrain-app    |   ➜ 825▕             throw new QueryException(
investbrain-app    |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
investbrain-app    |     827▕             );
investbrain-app    |     828▕         }
investbrain-app    |     829▕     }
investbrain-app    | 
investbrain-app    |       +42 vendor frames 
investbrain-app    | 
investbrain-app    |   43  artisan:13
investbrain-app    |       Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
investbrain-app    | 
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-mysql  | 2025-01-30 11:35:34+00:00 [Note] [Entrypoint]: Temporary server stopped
investbrain-mysql  | 
investbrain-mysql  | 2025-01-30 11:35:34+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
investbrain-mysql  | 
investbrain-mysql  | 2025-01-30T11:35:34.913609Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-30T11:35:34.914252Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.41) starting as process 1
investbrain-mysql  | 2025-01-30T11:35:34.923129Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-mysql  | 2025-01-30T11:35:35.152204Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-30T11:35:35.399569Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
investbrain-mysql  | 2025-01-30T11:35:35.399593Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
investbrain-mysql  | 2025-01-30T11:35:35.405406Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
investbrain-mysql  | 2025-01-30T11:35:35.443207Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
investbrain-mysql  | 2025-01-30T11:35:35.443350Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.41'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
investbrain-app    | 
investbrain-app    |    INFO  Preparing database.  
investbrain-app    | 
investbrain-app    |   Creating migration table ...................................... 46.45ms DONE
investbrain-app    | 
investbrain-app    |    INFO  Running migrations.  
investbrain-app    | 
investbrain-app    |   0001_01_01_000000_create_users_table ......................... 109.95ms DONE
investbrain-app    |   0001_01_01_000002_create_failed_jobs_table .................... 80.25ms DONE
investbrain-app    |   2021_01_30_102537_create_portfolios_table ..................... 46.30ms DONE
investbrain-app    |   2021_01_30_112537_create_portfolio_users_table ............... 389.19ms DONE
investbrain-app    |   2021_02_25_041221_create_market_data_table Imported 34999 market data items successfully!
investbrain-app    | ......................... 1s DONE
investbrain-app    |   2021_02_25_041227_create_daily_change_table .................. 153.63ms DONE
investbrain-app    |   2021_02_25_041236_create_dividends_table ...................... 48.13ms DONE
investbrain-app    |   2021_02_25_041246_create_splits_table ......................... 44.30ms DONE
investbrain-app    |   2021_02_25_041257_create_transactions_table .................. 168.11ms DONE
investbrain-app    |   2021_09_06_014744_create_holdings_table ...................... 159.25ms DONE
investbrain-app    |   2024_07_30_012529_add_two_factor_columns_to_users_table ...... 324.32ms DONE
investbrain-app    |   2024_07_30_012537_create_personal_access_tokens_table ........ 107.32ms DONE
investbrain-app    |   2024_10_18_000001_add_reinvestment_columns ................... 180.32ms DONE
investbrain-app    |   2024_10_19_155635_create_connected_accounts_table ............ 316.30ms DONE
investbrain-app    |   2024_10_23_000001_create_import_jobs_table ................... 161.55ms DONE
investbrain-app    |   2024_10_30_000001_create_ai_chats_table ...................... 243.96ms DONE
investbrain-app    |   2024_11_05_000001_add_user_admin_column ...................... 101.63ms DONE
investbrain-app    | 
investbrain-app    | 
investbrain-app    | ====================== Spinning up Supervisor daemon...  ====================== 
investbrain-app    | 
investbrain-app    | 2025-01-30 11:35:44,335 INFO Set uid to user 0 succeeded
investbrain-app    | 2025-01-30 11:35:44,336 INFO supervisord started with pid 1
investbrain-app    | 2025-01-30 11:35:45,339 INFO spawned: 'nginx' with pid 23
investbrain-app    | 2025-01-30 11:35:45,342 INFO spawned: 'php' with pid 24
investbrain-app    | 2025-01-30 11:35:45,344 INFO spawned: 'queue-worker_00' with pid 25
investbrain-app    | 2025-01-30 11:35:45,346 INFO spawned: 'queue-worker_01' with pid 26
investbrain-app    | 2025-01-30 11:35:45,347 INFO spawned: 'scheduler' with pid 27
investbrain-app    | 2025-01-30 11:35:46,377 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-30 11:35:46,377 INFO success: php entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-30 11:35:46,377 INFO success: queue-worker_00 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-30 11:35:46,377 INFO success: queue-worker_01 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-30 11:35:46,377 INFO success: scheduler entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-redis  | 1:M 30 Jan 2025 12:15:36.336 * 100 changes in 300 seconds. Saving...
investbrain-redis  | 1:M 30 Jan 2025 12:15:36.336 * Background saving started by pid 22
investbrain-redis  | 22:C 30 Jan 2025 12:15:36.346 * DB saved on disk
investbrain-redis  | 22:C 30 Jan 2025 12:15:36.346 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
investbrain-redis  | 1:M 30 Jan 2025 12:15:36.437 * Background saving terminated with success

./storage/logs/laravel.log

[2025-01-30 11:35:24] production.ERROR: SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 2002): SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#5 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#10 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#17 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#18 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#19 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#20 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#21 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#23 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#24 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#25 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#26 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#27 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#28 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#29 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#30 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#31 {main}

[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:66)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(66): PDO->__construct('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(85): Illuminate\\Database\\Connectors\\Connector->createPdoConnection('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(48): Illuminate\\Database\\Connectors\\Connector->tryAgainIfCausedByLostConnection(Object(PDOException), 'mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\\Database\\Connectors\\Connector->createConnection('mysql:host=inve...', Array, Array)
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(185): Illuminate\\Database\\Connectors\\MySqlConnector->connect(Array)
#5 [internal function]: Illuminate\\Database\\Connectors\\ConnectionFactory->Illuminate\\Database\\Connectors\\{closure}()
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1231): call_user_func(Object(Closure))
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1267): Illuminate\\Database\\Connection->getPdo()
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(512): Illuminate\\Database\\Connection->getReadPdo()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(407): Illuminate\\Database\\Connection->getPdoForSelect(true)
#10 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(812): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('select exists (...', Array)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#17 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#18 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#19 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#20 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#21 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#23 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#24 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#25 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#26 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#27 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#28 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#29 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#30 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#31 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#32 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#33 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#34 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#35 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#36 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#37 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#38 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#39 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#40 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#41 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#42 {main}
"} 
[2025-01-30 11:35:29] production.ERROR: SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 2002): SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#5 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#10 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#17 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#18 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#19 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#20 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#21 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#23 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#24 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#25 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#26 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#27 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#28 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#29 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#30 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#31 {main}

[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:66)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(66): PDO->__construct('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(85): Illuminate\\Database\\Connectors\\Connector->createPdoConnection('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(48): Illuminate\\Database\\Connectors\\Connector->tryAgainIfCausedByLostConnection(Object(PDOException), 'mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\\Database\\Connectors\\Connector->createConnection('mysql:host=inve...', Array, Array)
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(185): Illuminate\\Database\\Connectors\\MySqlConnector->connect(Array)
#5 [internal function]: Illuminate\\Database\\Connectors\\ConnectionFactory->Illuminate\\Database\\Connectors\\{closure}()
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1231): call_user_func(Object(Closure))
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1267): Illuminate\\Database\\Connection->getPdo()
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(512): Illuminate\\Database\\Connection->getReadPdo()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(407): Illuminate\\Database\\Connection->getPdoForSelect(true)
#10 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(812): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('select exists (...', Array)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#17 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#18 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#19 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#20 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#21 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#23 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#24 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#25 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#26 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#27 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#28 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#29 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#30 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#31 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#32 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#33 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#34 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#35 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#36 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#37 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#38 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#39 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#40 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#41 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#42 {main}
"} 
[2025-01-30 11:35:34] production.ERROR: SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 2002): SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#5 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#10 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#17 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#18 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#19 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#20 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#21 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#23 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#24 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#25 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#26 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#27 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#28 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#29 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#30 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#31 {main}

[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:66)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(66): PDO->__construct('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(85): Illuminate\\Database\\Connectors\\Connector->createPdoConnection('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(48): Illuminate\\Database\\Connectors\\Connector->tryAgainIfCausedByLostConnection(Object(PDOException), 'mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\\Database\\Connectors\\Connector->createConnection('mysql:host=inve...', Array, Array)
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(185): Illuminate\\Database\\Connectors\\MySqlConnector->connect(Array)
#5 [internal function]: Illuminate\\Database\\Connectors\\ConnectionFactory->Illuminate\\Database\\Connectors\\{closure}()
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1231): call_user_func(Object(Closure))
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1267): Illuminate\\Database\\Connection->getPdo()
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(512): Illuminate\\Database\\Connection->getReadPdo()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(407): Illuminate\\Database\\Connection->getPdoForSelect(true)
#10 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(812): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('select exists (...', Array)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#17 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#18 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#19 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#20 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#21 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#23 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#24 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#25 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#26 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#27 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#28 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#29 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#30 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#31 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#32 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#33 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#34 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#35 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#36 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#37 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#38 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#39 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#40 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#41 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#42 {main}
"} 

@hackeresq
Copy link
Collaborator

Great news! Appreciate your help troubleshooting this!

@Frankkz
Copy link
Author

Frankkz commented Jan 30, 2025

It seems like there's still an issue.

Adding a transaction will throw an error in the browser;

 UnexpectedValueException
The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: Failed calling method exists (yahoo): The stream or file "/var/app/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: Calling method exists (yahoo) Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}} Context: {"userId":"9e177cef-a42f-4746-a305-d0b1242af958","exception":{}}

Not sure if this is relevant but some more info on the permissions for the storage log file;

…/docker/appdata/investbrain $ ls -alsh

total 20K
4.0K drwxr-xr-x  5 franky franky 4.0K Jan 30 12:35 ./
4.0K drwxr-xr-x 18 franky franky 4.0K Jan 28 21:27 ../
4.0K drwxr-xr-x  8    999 root   4.0K Jan 30 12:35 investbrain-mysql/
4.0K drwxr-xr-x  2    999 root   4.0K Jan 30 14:47 investbrain-redis/
4.0K drwxrwxr-x  4 http   http   4.0K Jan 30 12:35 storage/

…/docker/appdata/investbrain $ ls -alsh ./storage/logs

4.0K drwxr-xr-x 2 root root 4.0K Jan 30 12:35 ./
4.0K drwxrwxr-x 4 http http 4.0K Jan 30 12:35 ../
 48K -rw-r--r-- 1 root root  48K Jan 30 14:53 laravel.log

Inside the container;
# pwd

/var/app/storage/logs

# ls -alshR

total 60K
4.0K drwxr-xr-x 2 root     root     4.0K Jan 30 11:35 .
4.0K drwxrwxr-x 4 www-data www-data 4.0K Jan 30 11:35 ..
 52K -rw-r--r-- 1 root     root      50K Jan 30 13:57 laravel.log

@hackeresq
Copy link
Collaborator

Yeah, the laravel.log file should never be owned by root... It's supposed to be chowning that in the entrypoint.sh, but something funky is going on.

I've updated the entrypoint to just always chown that directory (don't do a check for valid permissions or file structure). Tagging a new release in a sec.

Alternatively, I just added a note in the compose file suggesting folks could also use a volume:

services:
     app:
       # # #
       volumes:
           investbrain-storage:/var/app/storage
       # # #
volumes:
  investbrain-storage:

@Frankkz
Copy link
Author

Frankkz commented Jan 31, 2025

Progress!

The permission issue seems to be resolved, I no longer get the storage/logs error we saw before.

Now a different issue arose.

Upon doing actions such as registering a user and adding a transaction the site will throw a "500 Server Error". It however does do those actions. Creating a portfolio does not throw a 500 error.

Eg.

- Registered new user 
- 500 Server Error
- Refresh page and I'm able to login with the user I just created
- Create new transaction
- Add transaction for known symbol (such as AAPL)
- 500 Server Error
- Refresh page and the AAPL transaction is added.

from nginx/access.log

172.18.0.1 - - [31/Jan/2025:17:38:57 +0000] "GET /register HTTP/1.1" 200 12612 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:09 +0000] "POST /register HTTP/1.1" 500 6628 "http://localhost:8000/register" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
  
...
  
172.18.0.1 - - [31/Jan/2025:17:39:25 +0000] "GET /portfolio/create HTTP/1.1" 200 16829 "http://localhost:8000/dashboard" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:32 +0000] "POST /livewire/update HTTP/1.1" 200 1193 "http://localhost:8000/portfolio/create" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:32 +0000] "GET /portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96 HTTP/1.1" 200 28991 "http://localhost:8000/portfolio/create" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
127.0.0.1 - - [31/Jan/2025:17:39:55 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
172.18.0.1 - - [31/Jan/2025:17:40:07 +0000] "POST /livewire/update HTTP/1.1" 500 6622 "http://localhost:8000/portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:12 +0000] "GET /dashboard HTTP/1.1" 302 366 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:12 +0000] "GET /login HTTP/1.1" 200 12855 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:22 +0000] "POST /livewire/update HTTP/1.1" 500 6622 "http://localhost:8000/portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:25 +0000] "GET /portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96 HTTP/1.1" 200 29023 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
127.0.0.1 - - [31/Jan/2025:17:40:25 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
172.18.0.1 - - [31/Jan/2025:17:40:28 +0000] "GET /transactions HTTP/1.1" 200 20887 "http://localhost:8000/portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:42 +0000] "POST /livewire/update HTTP/1.1" 500 6628 "http://localhost:8000/transactions" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
127.0.0.1 - - [31/Jan/2025:17:40:55 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
172.18.0.1 - - [31/Jan/2025:17:41:17 +0000] "POST /livewire/update HTTP/1.1" 500 6628 "http://localhost:8000/transactions" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"

@Frankkz
Copy link
Author

Frankkz commented Jan 31, 2025

Yeah, the laravel.log file should never be owned by root... It's supposed to be chowning that in the entrypoint.sh, but something funky is going on.

laravel.log is still owned by root:root btw

@hackeresq
Copy link
Collaborator

Is anything being actually written to laravel.log?

If not, the 500 is probably because the log is not writable by www-user.

When you re-installed, did you wipe out the storage directory?

@Frankkz
Copy link
Author

Frankkz commented Jan 31, 2025

When you re-installed, did you wipe out the storage directory?

Yeap, removed all folders & files (to avoid permission issues) before re-pulling & deploying.

Is anything being actually written to laravel.log?

If not, the 500 is probably because the log is not writable by www-user.

From what I can see, nothing new is being written to it, only the initial deploy logs.

[2025-01-31 17:38:30] production.ERROR: SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 2002): SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#5 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#10 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#17 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#18 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#19 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#20 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#21 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#23 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#24 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#25 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#26 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#27 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#28 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#29 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#30 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#31 {main}

[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:66)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(66): PDO->__construct('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(85): Illuminate\\Database\\Connectors\\Connector->createPdoConnection('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(48): Illuminate\\Database\\Connectors\\Connector->tryAgainIfCausedByLostConnection(Object(PDOException), 'mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\\Database\\Connectors\\Connector->createConnection('mysql:host=inve...', Array, Array)
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(185): Illuminate\\Database\\Connectors\\MySqlConnector->connect(Array)
#5 [internal function]: Illuminate\\Database\\Connectors\\ConnectionFactory->Illuminate\\Database\\Connectors\\{closure}()
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1231): call_user_func(Object(Closure))
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1267): Illuminate\\Database\\Connection->getPdo()
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(512): Illuminate\\Database\\Connection->getReadPdo()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(407): Illuminate\\Database\\Connection->getPdoForSelect(true)
#10 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(812): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('select exists (...', Array)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#17 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#18 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#19 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#20 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#21 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#23 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#24 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#25 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#26 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#27 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#28 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#29 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#30 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#31 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#32 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#33 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#34 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#35 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#36 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#37 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#38 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#39 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#40 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#41 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#42 {main}
"} 
[2025-01-31 17:38:35] production.ERROR: SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 2002): SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select exists (select 1 from information_schema.tables where table_schema = 'investbrain' and table_name = 'migrations' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED')) as `exists`) at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#5 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#10 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#17 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#18 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#19 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#20 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#21 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#23 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#24 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#25 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#26 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#27 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#28 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#29 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#30 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#31 {main}

[previous exception] [object] (PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:66)
[stacktrace]
#0 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(66): PDO->__construct('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#1 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(85): Illuminate\\Database\\Connectors\\Connector->createPdoConnection('mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#2 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(48): Illuminate\\Database\\Connectors\\Connector->tryAgainIfCausedByLostConnection(Object(PDOException), 'mysql:host=inve...', 'investbrain', Object(SensitiveParameterValue), Array)
#3 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php(24): Illuminate\\Database\\Connectors\\Connector->createConnection('mysql:host=inve...', Array, Array)
#4 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(185): Illuminate\\Database\\Connectors\\MySqlConnector->connect(Array)
#5 [internal function]: Illuminate\\Database\\Connectors\\ConnectionFactory->Illuminate\\Database\\Connectors\\{closure}()
#6 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1231): call_user_func(Object(Closure))
#7 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(1267): Illuminate\\Database\\Connection->getPdo()
#8 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(512): Illuminate\\Database\\Connection->getReadPdo()
#9 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(407): Illuminate\\Database\\Connection->getPdoForSelect(true)
#10 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(812): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('select exists (...', Array)
#11 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(979): Illuminate\\Database\\Connection->runQueryCallback('select exists (...', Array, Object(Closure))
#12 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(958): Illuminate\\Database\\Connection->tryAgainIfCausedByLostConnection(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#13 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(781): Illuminate\\Database\\Connection->handleQueryException(Object(Illuminate\\Database\\QueryException), 'select exists (...', Array, Object(Closure))
#14 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(398): Illuminate\\Database\\Connection->run('select exists (...', Array, Object(Closure))
#15 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(344): Illuminate\\Database\\Connection->select('select exists (...', Array, true)
#16 /var/app/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Illuminate\\Database\\Connection->selectOne('select exists (...', Array, true)
#17 /var/app/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php(45): Illuminate\\Database\\Connection->scalar('select exists (...')
#18 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php(184): Illuminate\\Database\\Schema\\MySqlBuilder->hasTable('migrations')
#19 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(681): Illuminate\\Database\\Migrations\\DatabaseMigrationRepository->repositoryExists()
#20 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): Illuminate\\Database\\Migrations\\Migrator->repositoryExists()
#21 /var/app/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}(1)
#22 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(165): retry(1, Object(Closure), 0, Object(Closure))
#23 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(141): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->repositoryExists()
#24 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(111): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->prepareDatabase()
#25 /var/app/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php(616): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->Illuminate\\Database\\Console\\Migrations\\{closure}()
#26 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(110): Illuminate\\Database\\Migrations\\Migrator->usingConnection(NULL, Object(Closure))
#27 /var/app/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php(89): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->runMigrations()
#28 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Database\\Console\\Migrations\\MigrateCommand->handle()
#29 /var/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#30 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#31 /var/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#32 /var/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#33 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call(Array)
#34 /var/app/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#35 /var/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#36 /var/app/vendor/symfony/console/Application.php(1094): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#37 /var/app/vendor/symfony/console/Application.php(342): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Database\\Console\\Migrations\\MigrateCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#38 /var/app/vendor/symfony/console/Application.php(193): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#39 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#40 /var/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1208): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#41 /var/app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#42 {main}
"} 

Docker log;

~/docker/investbrain $ docker compose -f investbrain-compose.yml up
[+] Running 5/4
 ✔ Volume "investbrain_investbrain-mysql"  Created                                                                                                                                                                             0.0s 
 ✔ Volume "investbrain_investbrain-redis"  Created                                                                                                                                                                             0.0s 
 ✔ Container investbrain-redis             Created                                                                                                                                                                             0.1s 
 ✔ Container investbrain-mysql             Created                                                                                                                                                                             0.1s 
 ✔ Container investbrain-app               Created                                                                                                                                                                             0.0s 
Attaching to investbrain-app, investbrain-mysql, investbrain-redis
investbrain-mysql  | 2025-01-31 17:38:24+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.41-1.el9 started.
investbrain-redis  | 1:C 31 Jan 2025 17:38:24.695 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
investbrain-redis  | 1:C 31 Jan 2025 17:38:24.695 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
investbrain-redis  | 1:C 31 Jan 2025 17:38:24.695 * Redis version=7.4.2, bits=64, commit=00000000, modified=0, pid=1, just started
investbrain-redis  | 1:C 31 Jan 2025 17:38:24.695 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
investbrain-redis  | 1:M 31 Jan 2025 17:38:24.695 * Increased maximum number of open files to 10032 (it was originally set to 1024).
investbrain-redis  | 1:M 31 Jan 2025 17:38:24.695 * monotonic clock: POSIX clock_gettime
investbrain-redis  |                 _._                                                  
investbrain-redis  |            _.-``__ ''-._                                             
investbrain-redis  |       _.-``    `.  `_.  ''-._           Redis Community Edition      
investbrain-redis  |   .-`` .-```.  ```\/    _.,_ ''-._     7.4.2 (00000000/0) 64 bit
investbrain-redis  |  (    '      ,       .-`  | `,    )     Running in standalone mode
investbrain-redis  |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
investbrain-redis  |  |    `-._   `._    /     _.-'    |     PID: 1
investbrain-redis  |   `-._    `-._  `-./  _.-'    _.-'                                   
investbrain-redis  |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
investbrain-redis  |  |    `-._`-._        _.-'_.-'    |           https://redis.io       
investbrain-redis  |   `-._    `-._`-.__.-'_.-'    _.-'                                   
investbrain-redis  |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
investbrain-redis  |  |    `-._`-._        _.-'_.-'    |                                  
investbrain-redis  |   `-._    `-._`-.__.-'_.-'    _.-'                                   
investbrain-redis  |       `-._    `-.__.-'    _.-'                                       
investbrain-redis  |           `-._        _.-'                                           
investbrain-redis  |               `-.__.-'                                               
investbrain-redis  | 
investbrain-redis  | 1:M 31 Jan 2025 17:38:24.695 * Server initialized
investbrain-redis  | 1:M 31 Jan 2025 17:38:24.695 * Ready to accept connections tcp
investbrain-mysql  | 2025-01-31 17:38:24+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
investbrain-mysql  | 2025-01-31 17:38:24+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.41-1.el9 started.
investbrain-app    | 
investbrain-app    |   ********************************************************************************
investbrain-app    |   *  III   N   N  V   V  EEEEE  SSSS  TTTTT  BBBBB   RRRR    AAAAA  III   N   N  *
investbrain-app    |   *   I    NN  N  V   V  E      S       T    B    B  R   R   A   A   I    NN  N  *
investbrain-app    |   *   I    N N N  V   V  EEEE   SSSS    T    BBBBB   RRRR    AAAAA   I    N N N  *
investbrain-app    |   *   I    N  NN  V   V  E          S   T    B    B  R  R    A   A   I    N  NN  *
investbrain-app    |   *  III   N   N   VVV   EEEEE  SSSS    T    BBBBB   R   R   A   A  III   N   N  *
investbrain-app    |   ********************************************************************************
investbrain-app    |   
investbrain-app    | ====================== Validating environment...  ====================== 
investbrain-app    | 
investbrain-app    |  > Storage directory scaffolding is OK... 
investbrain-app    | 
investbrain-app    |  > APP_KEY is OK... 
investbrain-app    | 
investbrain-app    | ====================== Running migrations...  ====================== 
investbrain-mysql  | 2025-01-31 17:38:24+00:00 [Note] [Entrypoint]: Initializing database files
investbrain-mysql  | 2025-01-31T17:38:24.947665Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-31T17:38:24.947767Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.41) initializing of server in progress as process 80
investbrain-mysql  | 2025-01-31T17:38:24.956722Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-mysql  | 2025-01-31T17:38:25.760366Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-31T17:38:27.526393Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-app    | 
investbrain-mysql  | 2025-01-31 17:38:32+00:00 [Note] [Entrypoint]: Database files initialized
investbrain-mysql  | 2025-01-31 17:38:32+00:00 [Note] [Entrypoint]: Starting temporary server
investbrain-mysql  | 2025-01-31T17:38:32.326976Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-31T17:38:32.327715Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.41) starting as process 124
investbrain-mysql  | 2025-01-31T17:38:32.335266Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-mysql  | 2025-01-31T17:38:32.588570Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-31T17:38:32.893807Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
investbrain-mysql  | 2025-01-31T17:38:32.893860Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
investbrain-mysql  | 2025-01-31T17:38:32.900679Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
investbrain-mysql  | 2025-01-31T17:38:32.936514Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.41'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server - GPL.
investbrain-mysql  | 2025-01-31T17:38:32.936536Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
investbrain-mysql  | 2025-01-31 17:38:32+00:00 [Note] [Entrypoint]: Temporary server started.
investbrain-mysql  | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
investbrain-mysql  | Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
investbrain-mysql  | 2025-01-31 17:38:33+00:00 [Note] [Entrypoint]: Creating database investbrain
investbrain-mysql  | 2025-01-31 17:38:33+00:00 [Note] [Entrypoint]: Creating user investbrain
investbrain-mysql  | 2025-01-31 17:38:33+00:00 [Note] [Entrypoint]: Giving user investbrain access to schema investbrain
investbrain-mysql  | 
investbrain-mysql  | 2025-01-31 17:38:33+00:00 [Note] [Entrypoint]: Stopping temporary server
investbrain-mysql  | 2025-01-31T17:38:33.677119Z 13 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.41).
investbrain-app    | 
investbrain-app    |  > Waiting for database to be ready... retrying in 5 seconds. 
investbrain-app    | 
investbrain-mysql  | 2025-01-31T17:38:35.967711Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.41)  MySQL Community Server - GPL.
investbrain-mysql  | 2025-01-31 17:38:36+00:00 [Note] [Entrypoint]: Temporary server stopped
investbrain-mysql  | 
investbrain-mysql  | 2025-01-31 17:38:36+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
investbrain-mysql  | 
investbrain-mysql  | 2025-01-31T17:38:36.857081Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
investbrain-mysql  | 2025-01-31T17:38:36.857809Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.41) starting as process 1
investbrain-mysql  | 2025-01-31T17:38:36.866666Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
investbrain-mysql  | 2025-01-31T17:38:37.094572Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
investbrain-mysql  | 2025-01-31T17:38:37.361233Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
investbrain-mysql  | 2025-01-31T17:38:37.361259Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
investbrain-mysql  | 2025-01-31T17:38:37.365039Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
investbrain-mysql  | 2025-01-31T17:38:37.380900Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.41'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
investbrain-mysql  | 2025-01-31T17:38:37.380896Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
investbrain-app    | 
investbrain-app    |    INFO  Preparing database.  
investbrain-app    | 
investbrain-app    |   Creating migration table ...................................... 40.10ms DONE
investbrain-app    | 
investbrain-app    |    INFO  Running migrations.  
investbrain-app    | 
investbrain-app    |   0001_01_01_000000_create_users_table ......................... 119.01ms DONE
investbrain-app    |   0001_01_01_000002_create_failed_jobs_table .................... 77.97ms DONE
investbrain-app    |   2021_01_30_102537_create_portfolios_table ..................... 44.62ms DONE
investbrain-app    |   2021_01_30_112537_create_portfolio_users_table ............... 263.29ms DONE
investbrain-app    |   2021_02_25_041221_create_market_data_table Imported 34999 market data items successfully!
investbrain-app    | ......................... 2s DONE
investbrain-app    |   2021_02_25_041227_create_daily_change_table .................. 149.03ms DONE
investbrain-app    |   2021_02_25_041236_create_dividends_table ...................... 46.26ms DONE
investbrain-app    |   2021_02_25_041246_create_splits_table ......................... 39.55ms DONE
investbrain-app    |   2021_02_25_041257_create_transactions_table .................. 173.08ms DONE
investbrain-app    |   2021_09_06_014744_create_holdings_table ...................... 156.68ms DONE
investbrain-app    |   2024_07_30_012529_add_two_factor_columns_to_users_table ...... 306.14ms DONE
investbrain-app    |   2024_07_30_012537_create_personal_access_tokens_table ........ 101.02ms DONE
investbrain-app    |   2024_10_18_000001_add_reinvestment_columns ................... 173.72ms DONE
investbrain-app    |   2024_10_19_155635_create_connected_accounts_table ............ 313.23ms DONE
investbrain-app    |   2024_10_23_000001_create_import_jobs_table ................... 152.10ms DONE
investbrain-app    |   2024_10_30_000001_create_ai_chats_table ...................... 232.51ms DONE
investbrain-app    |   2024_11_05_000001_add_user_admin_column ....................... 97.70ms DONE
investbrain-app    | 
investbrain-app    | ====================== Spinning up Supervisor daemon...  ====================== 
investbrain-app    | 
investbrain-app    | 2025-01-31 17:38:45,184 INFO Set uid to user 0 succeeded
investbrain-app    | 2025-01-31 17:38:45,185 INFO supervisord started with pid 1
investbrain-app    | 2025-01-31 17:38:46,188 INFO spawned: 'nginx' with pid 24
investbrain-app    | 2025-01-31 17:38:46,190 INFO spawned: 'php' with pid 25
investbrain-app    | 2025-01-31 17:38:46,192 INFO spawned: 'queue-worker_00' with pid 26
investbrain-app    | 2025-01-31 17:38:46,194 INFO spawned: 'queue-worker_01' with pid 27
investbrain-app    | 2025-01-31 17:38:46,194 INFO spawned: 'scheduler' with pid 28
investbrain-app    | 2025-01-31 17:38:47,213 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-31 17:38:47,213 INFO success: php entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-31 17:38:47,213 INFO success: queue-worker_00 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-31 17:38:47,213 INFO success: queue-worker_01 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    | 2025-01-31 17:38:47,213 INFO success: scheduler entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
investbrain-app    |   2025-01-31 17:39:00 Running ['artisan' refresh:market-data] ... 97.00ms DONE
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:40:00 Running ['artisan' refresh:market-data] ... 93.47ms DONE
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:41:00 Running ['artisan' refresh:market-data] ... 94.87ms DONE
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:42:00 Running ['artisan' refresh:market-data] ... 98.75ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:43:00 Running ['artisan' refresh:market-data] ... 96.72ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:44:00 Running ['artisan' refresh:market-data] .. 110.24ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:45:00 Running ['artisan' refresh:market-data] ... 95.64ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:46:00 Running ['artisan' refresh:market-data] ... 97.57ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:47:00 Running ['artisan' refresh:market-data] ... 99.15ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:48:00 Running ['artisan' refresh:market-data] ... 98.45ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:49:00 Running ['artisan' refresh:market-data] .. 103.01ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:50:00 Running ['artisan' refresh:market-data] ... 98.33ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:51:00 Running ['artisan' refresh:market-data] ... 96.20ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:52:00 Running ['artisan' refresh:market-data] ... 97.04ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:53:00 Running ['artisan' refresh:market-data] .. 108.57ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:54:00 Running ['artisan' refresh:market-data] ... 96.74ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:55:00 Running ['artisan' refresh:market-data] ... 99.78ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:56:00 Running ['artisan' refresh:market-data] ... 97.77ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:57:00 Running ['artisan' refresh:market-data] .. 101.08ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:58:00 Running ['artisan' refresh:market-data] ... 97.64ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:59:00 Running ['artisan' refresh:market-data] ... 96.68ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:00:00 Running ['artisan' refresh:market-data] ... 97.74ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:01:00 Running ['artisan' refresh:market-data] ... 95.82ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:02:00 Running ['artisan' refresh:market-data] ... 97.18ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:03:00 Running ['artisan' refresh:market-data] ... 98.68ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:04:00 Running ['artisan' refresh:market-data] ... 97.87ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:05:00 Running ['artisan' refresh:market-data] ... 98.64ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:06:00 Running ['artisan' refresh:market-data] .. 106.04ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:07:00 Running ['artisan' refresh:market-data] .. 101.10ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:08:00 Running ['artisan' refresh:market-data] ... 97.81ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:09:00 Running ['artisan' refresh:market-data] ... 95.48ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:10:00 Running ['artisan' refresh:market-data] .. 101.41ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:11:00 Running ['artisan' refresh:market-data] .. 105.50ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:12:00 Running ['artisan' refresh:market-data] .. 100.71ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:13:00 Running ['artisan' refresh:market-data] ... 98.68ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 

@hackeresq
Copy link
Collaborator

Very interesting. Market data calls work. Then at some point market data calls start failing... Something is happening to the file system after 3 minutes:

investbrain-app    |   2025-01-31 17:41:00 Running ['artisan' refresh:market-data] ... 94.87ms DONE
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:42:00 Running ['artisan' refresh:market-data] ... 98.75ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  

And then they continue to fail. Is that about the same time you created your first transaction?

@Frankkz
Copy link
Author

Frankkz commented Jan 31, 2025

Very interesting. Market data calls work. Then at some point market data calls start failing... Something is happening to the file system after 3 minutes:

investbrain-app    |   2025-01-31 17:41:00 Running ['artisan' refresh:market-data] ... 94.87ms DONE
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 17:42:00 Running ['artisan' refresh:market-data] ... 98.75ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  

And then they continue to fail. Is that about the same time you created your first transaction?

The full access.log could maybe show what I was doing, could be that was at point I was able to succesfully create a transaction? (I tried adding a transaction with a symbol it didn't know initially)

cat access.log
127.0.0.1 - - [31/Jan/2025:17:38:55 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
172.18.0.1 - - [31/Jan/2025:17:38:55 +0000] "GET / HTTP/1.1" 302 382 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:38:55 +0000] "GET /dashboard HTTP/1.1" 302 366 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:38:55 +0000] "GET /login HTTP/1.1" 200 12859 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:38:55 +0000] "GET /livewire/livewire.min.js?id=13b7c601 HTTP/1.1" 200 145852 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:38:55 +0000] "GET /favicon.svg HTTP/1.1" 200 19498 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:38:57 +0000] "GET /register HTTP/1.1" 200 12612 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:09 +0000] "POST /register HTTP/1.1" 500 6628 "http://localhost:8000/register" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:09 +0000] "GET /favicon.ico HTTP/1.1" 404 2311 "http://localhost:8000/register" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:16 +0000] "GET /register HTTP/1.1" 200 12612 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:16 +0000] "GET /favicon.svg HTTP/1.1" 200 19498 "http://localhost:8000/register" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:17 +0000] "GET / HTTP/1.1" 302 382 "http://localhost:8000/register" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:17 +0000] "GET /dashboard HTTP/1.1" 302 366 "http://localhost:8000/register" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:17 +0000] "GET /login HTTP/1.1" 200 12859 "http://localhost:8000/register" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:17 +0000] "GET /favicon.svg HTTP/1.1" 200 19498 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:20 +0000] "POST /login HTTP/1.1" 302 382 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:20 +0000] "GET /dashboard HTTP/1.1" 200 17789 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
127.0.0.1 - - [31/Jan/2025:17:39:25 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
172.18.0.1 - - [31/Jan/2025:17:39:25 +0000] "GET /portfolio/create HTTP/1.1" 200 16829 "http://localhost:8000/dashboard" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:32 +0000] "POST /livewire/update HTTP/1.1" 200 1193 "http://localhost:8000/portfolio/create" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:39:32 +0000] "GET /portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96 HTTP/1.1" 200 28991 "http://localhost:8000/portfolio/create" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
127.0.0.1 - - [31/Jan/2025:17:39:55 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
172.18.0.1 - - [31/Jan/2025:17:40:07 +0000] "POST /livewire/update HTTP/1.1" 500 6622 "http://localhost:8000/portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:12 +0000] "GET /dashboard HTTP/1.1" 302 366 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:12 +0000] "GET /login HTTP/1.1" 200 12855 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:22 +0000] "POST /livewire/update HTTP/1.1" 500 6622 "http://localhost:8000/portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:25 +0000] "GET /portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96 HTTP/1.1" 200 29023 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
127.0.0.1 - - [31/Jan/2025:17:40:25 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
172.18.0.1 - - [31/Jan/2025:17:40:28 +0000] "GET /transactions HTTP/1.1" 200 20887 "http://localhost:8000/portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:40:42 +0000] "POST /livewire/update HTTP/1.1" 500 6628 "http://localhost:8000/transactions" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
127.0.0.1 - - [31/Jan/2025:17:40:55 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
172.18.0.1 - - [31/Jan/2025:17:41:17 +0000] "POST /livewire/update HTTP/1.1" 500 6628 "http://localhost:8000/transactions" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:41:20 +0000] "GET /portfolio/create HTTP/1.1" 200 16941 "http://localhost:8000/transactions" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:41:22 +0000] "POST /livewire/update HTTP/1.1" 200 1193 "http://localhost:8000/portfolio/create" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:41:23 +0000] "GET /portfolio/9e1a014f-0443-449c-a7a1-c8959b5b3103 HTTP/1.1" 200 29129 "http://localhost:8000/portfolio/create" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
127.0.0.1 - - [31/Jan/2025:17:41:25 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
172.18.0.1 - - [31/Jan/2025:17:41:30 +0000] "POST /livewire/update HTTP/1.1" 500 6622 "http://localhost:8000/portfolio/9e1a014f-0443-449c-a7a1-c8959b5b3103" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:41:33 +0000] "GET /portfolio/9e1a014f-0443-449c-a7a1-c8959b5b3103 HTTP/1.1" 200 32170 "http://localhost:8000/login" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:41:35 +0000] "GET /portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96 HTTP/1.1" 200 29106 "http://localhost:8000/portfolio/9e1a014f-0443-449c-a7a1-c8959b5b3103" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
172.18.0.1 - - [31/Jan/2025:17:41:37 +0000] "GET /portfolio/9e1a014f-0443-449c-a7a1-c8959b5b3103 HTTP/1.1" 200 32155 "http://localhost:8000/portfolio/9e1a00a5-d969-4973-ac0b-9f3397aeeb96" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0"
127.0.0.1 - - [31/Jan/2025:17:41:55 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
127.0.0.1 - - [31/Jan/2025:17:42:26 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
127.0.0.1 - - [31/Jan/2025:17:42:56 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
127.0.0.1 - - [31/Jan/2025:17:43:26 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
127.0.0.1 - - [31/Jan/2025:17:43:56 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
127.0.0.1 - - [31/Jan/2025:17:44:26 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"
127.0.0.1 - - [31/Jan/2025:17:44:56 +0000] "GET /up HTTP/1.1" 200 1951 "-" "curl/7.88.1"

@hackeresq
Copy link
Collaborator

I'm still thinking this is a permissions issue. Can you chown laravel.log to www-data from inside the container to either validate or rule that out?

docker exec -it investbrain-app chown -R www-data:www-data /var/app/storage 

@Frankkz
Copy link
Author

Frankkz commented Jan 31, 2025

I'm still thinking this is a permissions issue. Can you chown laravel.log to www-data from inside the container to either validate or rule that out?

docker exec -it investbrain-app chown -R www-data:www-data /var/app/storage

Seems like that worked!

investbrain-app    |   2025-01-31 18:27:00 Running ['artisan' refresh:market-data] ... 98.25ms FAIL
investbrain-app    |   ⇂ Refresh market data from market data provider  
investbrain-app    | 
investbrain-app    |   2025-01-31 18:28:00 Running ['artisan' refresh:market-data] .. 893.51ms DONE
investbrain-app    |   ⇂ Refresh market data from market data provider  

Additional logs are now added to the laraval.log file

[2025-01-31 18:28:00] production.WARNING: Calling method quote (yahoo)  
[2025-01-31 18:28:00] production.WARNING: Calling method quote (yahoo)  

Edit:
Also no more "500 server error" upon adding a new transaction! And prices are now showing up as well :)

@hackeresq
Copy link
Collaborator

Those damn permissions. Thanks for confirming.

Not sure what's causing laravel.log to change ownership to root.

Let me know if this comes up again! In the meantime, I'll close this out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants