MerginMaps / MerginMaps/server

Windows 10 DB_PORT invalid literal

Open
#103 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
179
Forks
71
Avg merge
1d 4h
Merged PRs (30d)
10

Description

Trying to install Mergin CE on Docker Desktop on a Windows 10 VM. Using minimal changes to the .prod.env file, I am still getting the error below. The line for the DB Port value in the .prod.env file is 'DB_PORT=5432' (Without the apostrophes)

PS C:\Mergin> docker-compose -f docker-compose.yml up time="2023-07-26T16:16:29+01:00" level=warning msg="The \"PWD\" variable is not set. Defaulting to a blank string." [+] Running 6/6 ✔ Network mergin_merginmaps Created 0.3s ✔ Container merginmaps-redis Created 0.7s ✔ Container merginmaps-proxy Created 0.6s ✔ Container merginmaps-db Created 0.6s ✔ Container merginmaps-server Created 0.5s ✔ Container merginmaps-web Created 0.5s Attaching to merginmaps-db, merginmaps-proxy, merginmaps-redis, merginmaps-server, merginmaps-web merginmaps-redis | 1:C 26 Jul 2023 15:16:35.535 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo merginmaps-redis | 1:C 26 Jul 2023 15:16:35.548 # Redis version=7.0.12, bits=64, commit=00000000, modified=0, pid=1, just started merginmaps-redis | 1:C 26 Jul 2023 15:16:35.558 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf merginmaps-redis | 1:M 26 Jul 2023 15:16:35.559 * monotonic clock: POSIX clock_gettime merginmaps-redis | 1:M 26 Jul 2023 15:16:35.560 * Running mode=standalone, port=6379. merginmaps-redis | 1:M 26 Jul 2023 15:16:35.560 # Server initialized merginmaps-redis | 1:M 26 Jul 2023 15:16:35.560 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. merginmaps-redis | 1:M 26 Jul 2023 15:16:35.561 * Ready to accept connections merginmaps-proxy | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration merginmaps-proxy | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ merginmaps-proxy | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh merginmaps-proxy | 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf is not a file or does not exist merginmaps-proxy | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh merginmaps-proxy | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh merginmaps-proxy | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh merginmaps-proxy | /docker-entrypoint.sh: Configuration complete; ready for start up merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: using the "epoll" event method merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: nginx/1.25.1 merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: built by gcc 12.2.0 (Debian 12.2.0-14) merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: OS: Linux 5.15.90.1-microsoft-standard-WSL2 merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: start worker processes merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: start worker process 19 merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: start worker process 20 merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: start worker process 21 merginmaps-proxy | 2023/07/26 15:16:36 [notice] 1#1: start worker process 22 merginmaps-server | [INFO] [10] Starting gunicorn 19.9.0 merginmaps-server | [INFO] [10] Listening at: http://0.0.0.0:5000 (10) merginmaps-server | [INFO] [10] Using worker: gevent merginmaps-server | /usr/lib/python3.8/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used merginmaps-server | return io.open(fd, *args, **kwargs) merginmaps-server | [INFO] [14] Booting worker with pid: 14 merginmaps-server | /usr/lib/python3.8/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used merginmaps-server | return io.open(fd, *args, **kwargs) merginmaps-server | [INFO] [15] Booting worker with pid: 15 merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: using the "epoll" event method merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: nginx/1.23.4 merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4) merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: OS: Linux 5.15.90.1-microsoft-standard-WSL2 merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: start worker processes merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: start worker process 7 merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: start worker process 8 merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: start worker process 9 merginmaps-web | 2023/07/26 15:16:41 [notice] 1#1: start worker process 10 merginmaps-server | [INFO] [14] Numpy was not imported, continuing without requires() merginmaps-server | [INFO] [15] Numpy was not imported, continuing without requires() merginmaps-server | [2023-07-26 16:16:49,943: INFO/MainProcess] beat: Starting... merginmaps-server | [2023-07-26 16:16:50,649: INFO/MainProcess] Connected to redis://merginmaps-redis:6379/0 merginmaps-server | [2023-07-26 16:16:50,681: INFO/MainProcess] mingle: searching for neighbors merginmaps-server | [2023-07-26 16:16:51,745: INFO/MainProcess] mingle: all alone merginmaps-server | [2023-07-26 16:16:51,860: INFO/MainProcess] celery@b173bcbf448a ready. merginmaps-server | [2023-07-26 16:16:51,879: INFO/MainProcess] Received task: mergin.stats.tasks.send_statistics[a7df44ed-2e57-451b-bb23-500deda51389] merginmaps-server | [2023-07-26 16:16:51,898: INFO/MainProcess] Received task: mergin.stats.tasks.send_statistics[86c27d51-2697-4053-a0a3-9b89877dfd16] merginmaps-server | [2023-07-26 16:16:51,911: ERROR/ForkPoolWorker-1] Task mergin.stats.tasks.send_statistics[a7df44ed-2e57-451b-bb23-500deda51389] raised unexpected: ValueError("invalid literal for int() with base 10: '{DB_PORT}'") merginmaps-server | Traceback (most recent call last): merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/celery/app/trace.py", line 412, in trace_task merginmaps-server | R = retval = fun(*args, **kwargs) merginmaps-server | File "/app/mergin/celery.py", line 66, in __call__ merginmaps-server | return self.run(*args, **kwargs) merginmaps-server | File "/app/mergin/stats/tasks.py", line 35, in send_statistics merginmaps-server | if not db.engine.has_table("mergin_info"): merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 998, in engine merginmaps-server | return self.get_engine() merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 1017, in get_engine merginmaps-server | return connector.get_engine() merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 592, in get_engine merginmaps-server | sa_url = make_url(uri) merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py", line 738, in make_url merginmaps-server | return _parse_url(name_or_url) merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py", line 794, in _parse_url merginmaps-server | components["port"] = int(components["port"]) merginmaps-server | ValueError: invalid literal for int() with base 10: '{DB_PORT}' merginmaps-server | [2023-07-26 16:16:51,927: ERROR/ForkPoolWorker-2] Task mergin.stats.tasks.send_statistics[86c27d51-2697-4053-a0a3-9b89877dfd16] raised unexpected: ValueError("invalid literal for int() with base 10: '{DB_PORT}'") merginmaps-server | Traceback (most recent call last): merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/celery/app/trace.py", line 412, in trace_task merginmaps-server | R = retval = fun(*args, **kwargs) merginmaps-server | File "/app/mergin/celery.py", line 66, in __call__ merginmaps-server | return self.run(*args, **kwargs) merginmaps-server | File "/app/mergin/stats/tasks.py", line 35, in send_statistics merginmaps-server | if not db.engine.has_table("mergin_info"): merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 998, in engine merginmaps-server | return self.get_engine() merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 1017, in get_engine merginmaps-server | return connector.get_engine() merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 592, in get_engine merginmaps-server | sa_url = make_url(uri) merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py", line 738, in make_url merginmaps-server | return _parse_url(name_or_url) merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py", line 794, in _parse_url merginmaps-server | components["port"] = int(components["port"]) merginmaps-server | ValueError: invalid literal for int() with base 10: '{DB_PORT}' merginmaps-server | [2023-07-26 16:16:51,933: INFO/MainProcess] Received task: mergin.stats.tasks.send_statistics[6ccaef30-2fbe-40d0-8735-ff88677ffac0] merginmaps-server | [2023-07-26 16:16:51,963: INFO/MainProcess] Received task: mergin.stats.tasks.send_statistics[c47d3a68-7ce2-4e77-b4dd-ef0a0eb5f2c7] merginmaps-server | [2023-07-26 16:16:51,996: ERROR/ForkPoolWorker-4] Task mergin.stats.tasks.send_statistics[6ccaef30-2fbe-40d0-8735-ff88677ffac0] raised unexpected: ValueError("invalid literal for int() with base 10: '{DB_PORT}'") merginmaps-server | Traceback (most recent call last): merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/celery/app/trace.py", line 412, in trace_task merginmaps-server | R = retval = fun(*args, **kwargs) merginmaps-server | File "/app/mergin/celery.py", line 66, in __call__ merginmaps-server | return self.run(*args, **kwargs) merginmaps-server | File "/app/mergin/stats/tasks.py", line 35, in send_statistics merginmaps-server | if not db.engine.has_table("mergin_info"): merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 998, in engine merginmaps-server | return self.get_engine() merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 1017, in get_engine merginmaps-server | return connector.get_engine() merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 592, in get_engine merginmaps-server | sa_url = make_url(uri) merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py", line 738, in make_url merginmaps-server | return _parse_url(name_or_url) merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py", line 794, in _parse_url merginmaps-server | components["port"] = int(components["port"]) merginmaps-server | ValueError: invalid literal for int() with base 10: '{DB_PORT}' merginmaps-server | [2023-07-26 16:16:52,000: ERROR/ForkPoolWorker-3] Task mergin.stats.tasks.send_statistics[c47d3a68-7ce2-4e77-b4dd-ef0a0eb5f2c7] raised unexpected: ValueError("invalid literal for int() with base 10: '{DB_PORT}'") merginmaps-server | Traceback (most recent call last): merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/celery/app/trace.py", line 412, in trace_task merginmaps-server | R = retval = fun(*args, **kwargs) merginmaps-server | File "/app/mergin/celery.py", line 66, in __call__ merginmaps-server | return self.run(*args, **kwargs) merginmaps-server | File "/app/mergin/stats/tasks.py", line 35, in send_statistics merginmaps-server | if not db.engine.has_table("mergin_info"): merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 998, in engine merginmaps-server | return self.get_engine() merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 1017, in get_engine merginmaps-server | return connector.get_engine() merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/flask_sqlalchemy/__init__.py", line 592, in get_engine merginmaps-server | sa_url = make_url(uri) merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py", line 738, in make_url merginmaps-server | return _parse_url(name_or_url) merginmaps-server | File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py", line 794, in _parse_url merginmaps-server | components["port"] = int(components["port"]) merginmaps-server | ValueError: invalid literal for int() with base 10: '{DB_PORT}' merginmaps-db | merginmaps-db | PostgreSQL Database directory appears to contain a database; Skipping initialization merginmaps-db | merginmaps-db | merginmaps-db | 2023-07-26 15:16:53.096 UTC [1] LOG: starting PostgreSQL 14.8 (Debian 14.8-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit merginmaps-db | 2023-07-26 15:16:53.096 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 merginmaps-db | 2023-07-26 15:16:53.096 UTC [1] LOG: listening on IPv6 address "::", port 5432 merginmaps-db | 2023-07-26 15:16:53.146 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" merginmaps-db | 2023-07-26 15:16:53.353 UTC [29] LOG: database system was shut down at 2023-07-26 15:15:44 UTC merginmaps-db | 2023-07-26 15:16:53.822 UTC [1] LOG: database system is ready to accept connections

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docker-compose.yml and .prod.env, then trace the database URL used by mergin/stats/tasks.py where the error occurs. Run the Docker Compose setup and verify that DB_PORT is resolved to a numeric value instead of '{DB_PORT}'; the Celery statistics task should no longer raise the invalid-literal error.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose, python
Domain
backend, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.