Need Help to get ERPNext Docker-Compose working on windows 10

I posted this question in Github too
Hi all,

I am currently trying to get ERPNext to work on my Windows 10 Laptop using Docker Compose.

I followed the instruction given in this post

my .env file are as follows

# Reference: https://github.com/frappe/frappe_docker/blob/main/docs/images-and-compose-files.md

FRAPPE_VERSION=v13.29.2

# Only with ERPNext override
ERPNEXT_VERSION=v13.30.0

DB_PASSWORD=123

# Default value is `$$host` which resolves site by host. For example, if your host is `example.com`,
# site's name should be `example.com`, or if host is `127.0.0.1` (local debugging), it should be `127.0.0.1`.
# This variable allows to override described behavior. Let's say you create site named `mysite`
# and do want to access it by `127.0.0.1` host. Than you would set this variable to `mysite`.
FRAPPE_SITE_NAME_HEADER=127.0.0.1

to start my docker-compose I’m using this command on my powershell

docker-compose -f compose.yaml -f .\overrides\compose.mariadb.yaml -f .\overrides\compose.redis.yaml -f .\overrides\compose.noproxy.yaml -f .\overrides\compose.erpnext.yaml up -d

however when I try to open the browser

Localhost error

Any pointer would be great

Thanks
Ash

Hello @ashrafZolkopli,

Welcome to the forums! I think you’re receiving this error because the host name and FRAPPE_SITE_NAME_HEADER should be the same. Try accessing your site by http://127.0.0.1:8000

make sure you’ve created the first site. frappe_docker/site-operations.md at main · frappe/frappe_docker · GitHub

Hi @revant_one ,

Thanks for your responds on both here and also in the github Issue that I created,

I have followed the instruction shared

docker-compose exec backend bench new-site erpnext_localhost  --mariadb-root-password 123  --admin-password MyAdminPassword12345

I notice now that nginx and also soket.io is not working

image

When viewing my socket.io logs

listening on *: 9000
node:events:505
      throw er; // Unhandled 'error' event
      ^

Error: getaddrinfo EAI_AGAIN redis
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:82:26)
Emitted 'error' event on RedisClient instance at:
    at RedisClient.on_error (/home/frappe/frappe-bench/apps/frappe/node_modules/redis/index.js:342:14)
    at Socket.<anonymous> (/home/frappe/frappe-bench/apps/frappe/node_modules/redis/index.js:223:14)
    at Socket.emit (node:events:527:28)
    at emitErrorNT (node:internal/streams/destroy:164:8)
    at emitErrorCloseNT (node:internal/streams/destroy:129:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  errno: -3001,
  code: 'EAI_AGAIN',
  syscall: 'getaddrinfo',
  hostname: 'redis'
}

Node.js v17.9.0

my nginx logs

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/frappe-entrypoint.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf differs from the packaged version
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
20-envsubst-on-templates.sh: Running envsubst on /etc/nginx/templates/default.conf.template to /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2022/05/21 17:36:21 [emerg] 1#1: host not found in upstream "websocket:9000" in /etc/nginx/conf.d/default.conf:6
nginx: [emerg] host not found in upstream "websocket:9000" in /etc/nginx/conf.d/default.conf:6

for completeness sake, my Mariadb logs

2022-05-21 17:36:12+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.6.7+maria~focal started.
2022-05-21 17:36:12+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2022-05-21 17:36:12+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.6.7+maria~focal started.
2022-05-21 17:36:12+00:00 [Note] [Entrypoint]: MariaDB upgrade not required
2022-05-21 17:36:12 0 [Note] mariadbd (server 10.6.7-MariaDB-1:10.6.7+maria~focal) starting as process 1 ...
2022-05-21 17:36:12 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-05-21 17:36:12 0 [Note] InnoDB: Number of pools: 1
2022-05-21 17:36:12 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
2022-05-21 17:36:12 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
2022-05-21 17:36:12 0 [Note] InnoDB: Using Linux native AIO
2022-05-21 17:36:12 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
2022-05-21 17:36:12 0 [Note] InnoDB: Completed initialization of buffer pool
2022-05-21 17:36:12 0 [Note] InnoDB: 128 rollback segments are active.
2022-05-21 17:36:12 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2022-05-21 17:36:12 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2022-05-21 17:36:12 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2022-05-21 17:36:12 0 [Note] InnoDB: 10.6.7 started; log sequence number 7664871; transaction id 2523
2022-05-21 17:36:12 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2022-05-21 17:36:12 0 [Note] Plugin 'FEEDBACK' is disabled.
2022-05-21 17:36:12 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
2022-05-21 17:36:12 0 [Note] Server socket created on IP: '0.0.0.0'.
2022-05-21 17:36:12 0 [Note] Server socket created on IP: '::'.
2022-05-21 17:36:12 0 [Note] mariadbd: ready for connections.
Version: '10.6.7-MariaDB-1:10.6.7+maria~focal'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
2022-05-21 17:36:13 0 [Note] InnoDB: Buffer pool(s) load completed at 220521 17:36:13
2022-05-21 17:37:19 64 [Warning] Access denied for user '_76cf18db07302d32'@'172.29.0.5' (using password: YES)
2022-05-21 17:37:19 66 [Warning] Access denied for user '_334389048b872a53'@'172.29.0.5' (using password: YES)
2022-05-21 17:38:19 121 [Warning] Access denied for user '_76cf18db07302d32'@'172.29.0.5' (using password: YES)
2022-05-21 17:38:19 123 [Warning] Access denied for user '_334389048b872a53'@'172.29.0.5' (using password: YES)
2022-05-21 17:39:19 179 [Warning] Access denied for user '_76cf18db07302d32'@'172.29.0.5' (using password: YES)
2022-05-21 17:39:19 181 [Warning] Access denied for user '_334389048b872a53'@'172.29.0.5' (using password: YES)
2022-05-21 17:40:19 237 [Warning] Access denied for user '_76cf18db07302d32'@'172.29.0.5' (using password: YES)
2022-05-21 17:40:19 239 [Warning] Access denied for user '_334389048b872a53'@'172.29.0.5' (using password: YES)
2022-05-21 17:41:19 294 [Warning] Access denied for user '_76cf18db07302d32'@'172.29.0.5' (using password: YES)
2022-05-21 17:41:19 296 [Warning] Access denied for user '_334389048b872a53'@'172.29.0.5' (using password: YES)

Hi @dj12djdjs

Thanks for the reply

I tried the http://127.0.0.1:8080, still get the same error message

Ouh yeah,

I even try this command

docker-compose exec backend bench --site erpnext_localhost  migrate

Hi all,

Just an update, I have to kill all my container, and redo my docker compose for it to work.

dont forget to delete your volume too

1 Like

Hi,
I am trying to install full containerized installation on digital ocean using docker and I get the same 404 issues even after creating the site. I used the below tutorial.

Setup Frappe using containerized MariaDB and Redis with Letsencrypt certificates.

my .env file I set FRAPPE_SITE_NAME_HEADER=‘erp.mydomain.com’. is this correct? erp.mydomain.com is my digital ocean droplet bound domain. I used this as the site name as well when creating the site. is that correct?

i used the below to create and start the containers.

Generate YAML

docker compose -f compose.yaml
-f overrides/compose.mariadb.yaml
-f overrides/compose.redis.yaml
-f overrides/compose.https.yaml
config > ~/gitops/docker-compose.yml

Start containers

docker compose --project-name -f ~/gitops/docker-compose.yml up -d

but I get the 404 error as below.
Screenshot_1

And also I don’t get the SSL properly working even I use letsencrypt with the yml as above too

please help