Gramps-Web freezing and giving errors 502 and 404

Hello,

I am a new user from the Netherlands, a 77 years old man retired many years ago after a 40 years IT-career.

I have installed Gramps Web on my new Synology NAS DS215+ using the following script:

How to Install Gramps Web on Your Synology NAS – Marius Hosting

and it started. Then imported a GEDCOM file with 109 persons.

This is my first experience using docker. So within Container Manager (docker) Gramps-Web is running under Portainer.

In using Gramps-Web I continuously get very long waiting times with very often resulting in a logoff or no result with error 502.
A login takes very long (blank screen with a blue line in the middle) and ending with error 502/404 or most of the time end up in the login screen again.

What is wrong?

Thanks in advance for your help.

With kind regards,

Wil Tegelaar

This is the system information:

This is the gramsweb.yml file content:

*services:
grampsweb:
image: Package grampsweb · GitHub
container_name: Gramps-Web
healthcheck:
test: timeout 10s bash -c ‘:> /dev/tcp/127.0.0.1/5000’ || exit 1
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
security_opt:

  • no-new-privileges:true
    ports:
  • 5449:5000
    environment:
    GRAMPSWEB_TREE: Stambomen #This env variable will create a new tree if not exists.
    volumes:
  • /volume1/docker/grampsweb/dbuser:/app/users:rw
  • /volume1/docker/grampsweb/indexdir:/app/indexdir:rw
  • /volume1/docker/grampsweb/thumbnail:/app/thumbnail_cache:rw
  • /volume1/docker/grampsweb/cache:/app/cache:rw
  • /volume1/docker/grampsweb/secret:/app/secret:rw
  • /volume1/docker/grampsweb/database:/root/.gramps/grampsdb:rw
  • /volume1/docker/grampsweb/media:/app/media:rw
  • /volume1/docker/grampsweb/tmp:/tmp:rw
    restart: on-failure:5*

Wanted to upload the logfile from docker but I cann’t as a new user. Below a paste of some errors:

date stream content
2025/12/18 20:41:19 stderr warnings.warn(
2025/12/18 20:41:19 stderr /usr/local/lib/python3.11/dist-packages/flask_limiter/_extension.py:364: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use.
2025/12/18 20:41:19 stderr warnings.warn(
2025/12/18 20:41:19 stderr /usr/local/lib/python3.11/dist-packages/flask_limiter/_extension.py:364: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use.
2025/12/18 20:40:44 stderr (gunicorn:2700): Gtk-CRITICAL **: 19:40:43.994: gtk_icon_theme_get_for_screen: assertion ‘GDK_IS_SCREEN (screen)’ failed
2025/12/18 20:40:44 stderr
2025/12/18 20:40:44 stderr (gunicorn:2699): Gtk-CRITICAL **: 19:40:43.994: gtk_icon_theme_get_for_screen: assertion ‘GDK_IS_SCREEN (screen)’ failed
2025/12/18 20:40:44 stderr
2025/12/18 20:38:43 stderr warnings.warn(
2025/12/18 20:38:43 stderr /usr/local/lib/python3.11/dist-packages/flask_limiter/_extension.py:364: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use.
2025/12/18 20:38:00 stderr (gunicorn:2614): Gtk-CRITICAL **: 19:38:00.042: gtk_icon_theme_get_for_screen: assertion ‘GDK_IS_SCREEN (screen)’ failed
2025/12/18 20:38:00 stderr
2025/12/18 20:34:53 stderr [2025-12-18 19:34:52 +0000] [2700] [INFO] Booting worker with pid: 2700
2025/12/18 20:34:53 stderr [2025-12-18 19:34:52 +0000] [113] [ERROR] Worker (pid:116) was sent SIGKILL! Perhaps out of memory?
2025/12/18 20:34:53 stderr [2025-12-18 19:34:49 +0000] [113] [CRITICAL] WORKER TIMEOUT (pid:116)
2025/12/18 20:34:21 stderr [2025-12-18 19:34:21 +0000] [2699] [INFO] Booting worker with pid: 2699
2025/12/18 20:34:21 stderr [2025-12-18 19:34:21 +0000] [113] [ERROR] Worker (pid:118) was sent SIGKILL! Perhaps out of memory?
2025/12/18 20:34:18 stderr [2025-12-18 19:34:18 +0000] [113] [CRITICAL] WORKER TIMEOUT (pid:118)
2025/12/18 20:32:17 stderr [2025-12-18 19:32:17 +0000] [2614] [INFO] Booting worker with pid: 2614
2025/12/18 20:32:15 stderr [2025-12-18 19:32:15 +0000] [113] [ERROR] Worker (pid:120) was sent SIGKILL! Perhaps out of memory?
2025/12/18 20:32:13 stderr [2025-12-18 19:32:11 +0000] [113] [CRITICAL] WORKER TIMEOUT (pid:120)
2025/12/18 20:16:07 stderr warnings.warn(
2025/12/18 20:16:06 stderr /usr/local/lib/python3.11/dist-packages/flask_limiter/_extension.py:364: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use.
2025/12/18 20:15:26 stderr (gunicorn:121): Gtk-CRITICAL **: 19:15:26.281: gtk_icon_theme_get_for_screen: assertion ‘GDK_IS_SCREEN (screen)’ failed
2025/12/18 20:15:26 stderr
2025/12/18 20:15:09 stderr warnings.warn(
2025/12/18 20:15:09 stderr /usr/local/lib/python3.11/dist-packages/flask_limiter/_extension.py:364: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use.
2025/12/18 20:14:46 stderr (gunicorn:117): Gtk-CRITICAL **: 19:14:45.877: gtk_icon_theme_get_for_screen: assertion ‘GDK_IS_SCREEN (screen)’ failed
2025/12/18 20:14:46 stderr
2025/12/18 20:11:15 stderr warnings.warn(
2025/12/18 20:11:15 stderr /usr/local/lib/python3.11/dist-packages/flask_limiter/_extension.py:364: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use.
2025/12/18 20:10:03 stderr warnings.warn(
2025/12/18 20:10:03 stderr /usr/local/lib/python3.11/dist-packages/flask_limiter/_extension.py:364: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use.
2025/12/18 20:09:26 stderr (gunicorn:115): Gtk-CRITICAL **: 19:09:26.157: gtk_icon_theme_get_for_screen: assertion ‘GDK_IS_SCREEN (screen)’ failed
2025/12/18 20:09:26 stderr
2025/12/18 20:08:13 stderr (gunicorn:120): Gtk-CRITICAL **: 19:08:12.753: gtk_icon_theme_get_for_screen: assertion ‘GDK_IS_SCREEN (screen)’ failed

Hi Wil!

The smoking gun is this:

The app does not work as it doesn’t have enough RAM.

Here is some documentation about how to limit the amount of resources consumed. Setting the workers to 2 might be enough in your case.

1 Like

Hi David,

Setting GUNICORN_NUM_WORKERS: 2 solved the problem.
I have normal response times on my actions and no more errors in the log.

Thanks for your quick response.

Regards,
Wil

2 Likes