wallabag/docker

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

Closed this issue · 4 comments

Environment

  • Version: 2.5.4 and 2.6.2
  • Installation: Docker
  • PHP version: 8.1.15
  • OS: Ubuntu 20
  • Database: MySQL
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

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

Hello @jurgenhaas.

Please have a look here too: wallabag/wallabag#6649 (comment)

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

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