frappe_docker icon indicating copy to clipboard operation
frappe_docker copied to clipboard

Error when using overrides/compose.postgres.yaml for postgres database setup

Open thuy4tbn99 opened this issue 7 months ago • 3 comments

Description of the issue

I deploy frappe-docker on ubuntu 22.04. I use the overrides/compose.postgres.yaml for postgres database setup. However when I access fontend via http://localhost:8080/, it returns 504 Gateway Time-out and docker-compose logs show an error related to "pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')". I track the error and see frappe using self.create_connection() from mariadb/database.py instead of postgres.database.py

Context information (for bug reports)

Steps to reproduce the issue

  1. docker-compose -f pwd_new.yml -f overrides/compose.postgres.yaml up Here is the changed file pwd_new.yml I made: """ version: "3"

services: backend: image: frappe/erpnext:v15.29.3 deploy: restart_policy: condition: on-failure volumes: - sites:/home/frappe/frappe-bench/sites - logs:/home/frappe/frappe-bench/logs

configurator: image: frappe/erpnext:v15.29.3 deploy: restart_policy: condition: none entrypoint: - bash - -c # add redis_socketio for backward compatibility command: - > ls -1 apps > sites/apps.txt; bench set-config -g db_host $$DB_HOST; bench set-config -gp db_port $$DB_PORT; bench set-config -g db_type "postgres"; bench set-config -g db_name ${POSTGRES_DB}; bench set-config -g db_password ${POSTGRES_PASSWORD}; bench set-config -g root_login "postgres"; bench set-config -g root_password "travis";

    bench set-config -g redis_cache "redis://$$REDIS_CACHE";
    bench set-config -g redis_queue "redis://$$REDIS_QUEUE";
    bench set-config -g redis_socketio "redis://$$REDIS_QUEUE";
    bench set-config -gp socketio_port $$SOCKETIO_PORT;
environment:
  DB_HOST: db
  DB_PORT: "5432"
  REDIS_CACHE: redis-cache:6379
  REDIS_QUEUE: redis-queue:6379
  SOCKETIO_PORT: "9000"
volumes:
  - sites:/home/frappe/frappe-bench/sites
  - logs:/home/frappe/frappe-bench/logs

create-site: image: frappe/erpnext:v15.29.3 deploy: restart_policy: condition: none volumes: - sites:/home/frappe/frappe-bench/sites - logs:/home/frappe/frappe-bench/logs entrypoint: - bash - -c command: - > wait-for-it -t 120 db:5432; wait-for-it -t 120 redis-cache:6379; wait-for-it -t 120 redis-queue:6379; export start=date +%s; until [[ -n grep -hs ^ sites/common_site_config.json | jq -r ".db_host // empty" ]] &&
[[ -n grep -hs ^ sites/common_site_config.json | jq -r ".redis_cache // empty" ]] &&
[[ -n grep -hs ^ sites/common_site_config.json | jq -r ".redis_queue // empty" ]]; do echo "Waiting for sites/common_site_config.json to be created"; sleep 5; if (( date +%s-start > 120 )); then echo "could not find sites/common_site_config.json with required keys"; exit 1 fi done; echo "sites/common_site_config.json found"; bench new-site --db-type postgres --install-app erpnext --set-default frontend;

db: image: mariadb:10.6 healthcheck: test: mysqladmin ping -h localhost --password=admin interval: 1s retries: 15 deploy: restart_policy: condition: on-failure command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci - --skip-character-set-client-handshake - --skip-innodb-read-only-compressed # Temporary fix for MariaDB 10.6 environment: MYSQL_ROOT_PASSWORD: admin volumes: - db-data:/var/lib/mysql

frontend: image: frappe/erpnext:v15.29.3 depends_on: - websocket deploy: restart_policy: condition: on-failure command: - nginx-entrypoint.sh environment: BACKEND: backend:8000 FRAPPE_SITE_NAME_HEADER: frontend SOCKETIO: websocket:9000 UPSTREAM_REAL_IP_ADDRESS: 127.0.0.1 UPSTREAM_REAL_IP_HEADER: X-Forwarded-For UPSTREAM_REAL_IP_RECURSIVE: "off" PROXY_READ_TIMEOUT: 120 CLIENT_MAX_BODY_SIZE: 50m volumes: - sites:/home/frappe/frappe-bench/sites - logs:/home/frappe/frappe-bench/logs ports: - "8080:8080"

queue-long: image: frappe/erpnext:v15.29.3 deploy: restart_policy: condition: on-failure command: - bench - worker - --queue - long,default,short volumes: - sites:/home/frappe/frappe-bench/sites - logs:/home/frappe/frappe-bench/logs

queue-short: image: frappe/erpnext:v15.29.3 deploy: restart_policy: condition: on-failure command: - bench - worker - --queue - short,default volumes: - sites:/home/frappe/frappe-bench/sites - logs:/home/frappe/frappe-bench/logs

redis-queue: image: redis:6.2-alpine deploy: restart_policy: condition: on-failure volumes: - redis-queue-data:/data

redis-cache: image: redis:6.2-alpine deploy: restart_policy: condition: on-failure volumes: - redis-cache-data:/data

scheduler: image: frappe/erpnext:v15.29.3 deploy: restart_policy: condition: on-failure command: - bench - schedule volumes: - sites:/home/frappe/frappe-bench/sites - logs:/home/frappe/frappe-bench/logs

websocket: image: frappe/erpnext:v15.29.3 deploy: restart_policy: condition: on-failure command: - node - /home/frappe/frappe-bench/apps/frappe/socketio.js volumes: - sites:/home/frappe/frappe-bench/sites - logs:/home/frappe/frappe-bench/logs

volumes: db-data: redis-queue-data: redis-cache-data: sites: logs: """

  1. Then I go to http://localhost:8080/ in the browser. I got an error image

3 I check docker container via command docker ps -a and I see the frappe_docker_create_site_1 and frappe_docker_configurator_1 exited. image

  1. Error from docker-compose log image

Observed result

Expected result

Stacktrace / full error message if available

(paste here)

thuy4tbn99 avatar Jul 12 '24 02:07 thuy4tbn99