wallabag / docker

Official docker-composer for wallabag.
594 stars 150 forks source link

Can't login or reset password when updating to 2.6.x #356

Closed jurgenhaas closed 1 year ago

jurgenhaas commented 1 year ago

Environment

My app/config/parameters.yml is: ``` # This file is auto-generated during the composer install parameters: database_driver: pdo_mysql database_host: db database_port: 3306 database_name: wallabag database_user: wallabag database_password: wallapass database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite' database_table_prefix: wallabag_ database_socket: null database_charset: utf8mb4 domain_name: 'https://wallabag.example.com' server_name: 'My Wallabag' mailer_transport: smtp mailer_user: juergen@example.com mailer_password: REPLACED mailer_host: smtprelaypool.example.com mailer_port: 25 mailer_encryption: null mailer_auth_mode: null locale: en secret: REPLACED twofactor_auth: true twofactor_sender: no-reply@wallabag.org fosuser_registration: false fosuser_confirmation: true fos_oauth_server_access_token_lifetime: 3600 fos_oauth_server_refresh_token_lifetime: 1209600 from_email: wallabag@example.com rss_limit: 50 rabbitmq_host: localhost rabbitmq_port: 5672 rabbitmq_user: guest rabbitmq_password: guest rabbitmq_prefetch_count: 10 redis_scheme: tcp redis_host: redis redis_port: 6379 redis_path: null redis_password: null sentry_dsn: null ```

What steps will reproduce the bug?

My 2.5.4 instance is working nicely for ages. Since 2.6.0 was released, I've always tried to upgrade but always run into the same issue. I rebuild the containers with the new image and watch the logs, where I can't see any errors. Then I want to open Wallabag in the browser where it asks me to login. I fill in the credentials and when I click the login button, a message appears with this message:

Authentication request could not be processed due to a system error.

In the logs, only the following 3 items get added during that process:

wallabag-wallabag-1  | 172.17.1.254 - - [25/Jul/2023:08:26:38 +0000] "POST /login_check HTTP/1.1" 302 220 "https://wallabag.haas-gottmadingen.de/login" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
wallabag-wallabag-1  | 172.17.1.254 - - [25/Jul/2023:08:26:38 +0000] "GET /login HTTP/1.1" 200 1353 "https://wallabag.haas-gottmadingen.de/login" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"
wallabag-wallabag-1  | 172.17.1.254 - - [25/Jul/2023:08:26:38 +0000] "GET /js/routing?callback=fos.Router.setData HTTP/1.1" 200 400 "https://wallabag.haas-gottmadingen.de/login" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"

No matter how often I retry, the result is always the same.

Then I tried to reset my password. That leads to an error page with this message:

500: Internal Server Error

An exception occurred while executing a query: SQLSTATE[42S22]: Column not found: 1054 Unknown column 't20.display_thumbnails' in 'field list'

When I go back to 2.5.4 everything works as usual again. What am I doing wrong, can anyone help me with this?

j0k3r commented 1 year ago

You must run the migration script: https://github.com/wallabag/docker#upgrading

nicosomb commented 1 year ago

Hello @jurgenhaas.

Please have a look here too: https://github.com/wallabag/wallabag/issues/6649#issuecomment-1616021842

jurgenhaas commented 1 year ago

Oh dear, how embarrassing. Of course, running the migration script solves the issue. I missed that when scraping the documentation, sorry.

Just wondering, as I know that from other tools, would it be possible to run that script automatically when the container gets recreated? I mean there is no harm, when nothing is due for migration, it adds a few milliseconds to the startup process.

Anyways, closing the issue as my original issue is resolved. Thank you so much.

j0k3r commented 1 year ago

Could be an idea. I think someone already told us to do so as well.