Closed tobasium closed 8 months ago
Can you please attach full webapp's docker log ?
Issue may be related (or even the same?) to Issue#579. In case it is same problem - well, I am currently working on it!
i will deploy both stacks and send you the log seperatly in 5 min
only Web App + Worker
PostgreSQL compose
In case of last logs there is an error:
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "core_user" does not exist
LINE 2: FROM core_user
^
Which means that in your case tables were not created. Could you check if db postgresql://scott:tiger@db:5432/mydatabase
is accessible (i.e. you can connect to it) and it has some tables in it (e.g. core_use
) ?
It is interesting, because I literally just copy paste this docker compose:
version: "3.9"
x-backend: &common
image: papermerge/papermerge:3.0.1
environment:
PAPERMERGE__SECURITY__SECRET_KEY: 12345
PAPERMERGE__AUTH__USERNAME: john
PAPERMERGE__AUTH__PASSWORD: hohoho
PAPERMERGE__DATABASE__URL: postgresql://scott:tiger@db:5432/mydatabase
PAPERMERGE__REDIS__URL: redis://redis:6379/0
volumes:
- index_db:/core_app/index_db
- media:/core_app/media
services:
web:
<<: *common
ports:
- "12000:80"
depends_on:
- redis
- db
worker:
<<: *common
command: worker
redis:
image: redis:6
db:
image: bitnami/postgresql:14.4.0
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_USER: scott
POSTGRES_PASSWORD: tiger
POSTGRES_DB: mydatabase
volumes:
postgres_data:
index_db:
media:
And then docker compose up
just works (means db is created, I can authenticate with username john).
could you quickly tell me how i could test it.
here is the log from db _papermerge-db-1_logs.txt
I found the problem. The problem is that docker compose's "depends_on" waits only for the container to start, but not the service inside it; in other words "db" container may be up, while actual initialization of the postgres/mysql database is not yet ready!
I will fix that part. Thank you again for reporting the problem!
@tobasium I've published 3.0.2. Also in documentation I've updated docker-compose examples to include healthcheck key - which ensures that webapp/workers will start only after database process (not just db container) is up and running. Please use update docker compose examples.
Hi, tested, and found new error: MySQL / MariaDB compose _papermerge-web-1_logs.txt
Hi tested, Solr compose works. so that i can login into pm but solr container exits after start with following error:
Cannot write to /var/solr as 8983:8983 drwxr-xr-x 2 root root 2 Jan 21 17:02 /var/solr Cannot write to /var/solr as 8983:8983 drwxr-xr-x 2 root root 2 Jan 21 17:02 /var/solr
I am closing the ticket as original issue was solved (original issue was that app started before db service was up, which caused "core_user table not found exception" - fixed in 3.0.2).
Hi i wantet to run papermerge but it did not work. Maybe someone could help me to solve the problem. Did not see where exactly the problem is.
I use portainer and tested 2 different compose files:
Web App + Worker PostgreSQL
Web App + Worker for test i use the same data as in documentation.
papermerge starts
i try to login it loads and then it shows only error
i only see Error
Log in Docker: sqlalchemy.exc.NoResultFound: No row was found when one was required
PostgreSQL (change username tobasium)
papermerge starts
i try to login
Under the pw field it shows: Internal Server Error
Docker Log: [SQL: SELECT core_user.id AS core_user_id, core_user.username AS core_user_username, core_user.email AS core_user_email, core_user.password AS core_user_password, core_user.is_superuser AS core_user_is_superuser, core_user.is_staff AS core_user_is_staff, core_user.is_active AS core_user_is_active, core_user.first_name AS core_user_first_name, core_user.last_name AS core_user_last_name, core_user.home_folder_id AS core_user_home_folder_id, core_user.inbox_folder_id AS core_user_inbox_folder_id, core_user.date_joined AS core_user_date_joined, core_user.created_at AS core_user_created_at, core_user.updated_at AS core_user_updated_at FROM core_user WHERE core_user.username = %(username_1)s LIMIT %(param_1)s] [parameters: {'username_1': 'tobasium', 'param_1': 1}] (Background on this error at: https://sqlalche.me/e/20/f405)
Info: