Images don't seem to load

Author: nuentesCreated Jun 23, 2025Updated Feb 22, 2026

Clean install today - new user. Can't wait to get my feet wet. When I click to add a new connection, the images for the services don't load. This makes me worried that other things may be non-functional as well...?

Image

I don't see any errors in my logs. the log for my db:

PostgreSQL Database directory appears to contain a database; Skipping initialization
2025-06-23 17:59:30.027 UTC [1] LOG:  starting PostgreSQL 17.5 (Debian 17.5-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2025-06-23 17:59:30.028 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2025-06-23 17:59:30.028 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2025-06-23 17:59:30.029 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-06-23 17:59:30.032 UTC [28] LOG:  database system was shut down at 2025-06-23 17:59:06 UTC
2025-06-23 17:59:30.039 UTC [1] LOG:  database system is ready to accept connections
2025-06-23 18:04:30.133 UTC [26] LOG:  checkpoint starting: time
2025-06-23 18:04:30.243 UTC [26] LOG:  checkpoint complete: wrote 4 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.102 s, sync=0.007 s, total=0.111 s; sync files=3, longest=0.004 s, average=0.003 s; distance=1 kB, estimate=1 kB; lsn=0/1A48630, redo lsn=0/1A485D8

logs for redis:

1:C 23 Jun 2025 13:59:29.984 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it 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.
1:C 23 Jun 2025 13:59:29.986 # WARNING Your system is configured to use the 'xen' clocksource which might lead to degraded performance. Check the result of the [slow-clocksource] system check: run 'redis-server --check-system' to check if the system's clocksource isn't degrading performance.
1:C 23 Jun 2025 13:59:29.986 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 23 Jun 2025 13:59:29.986 * Redis version=7.4.4, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 23 Jun 2025 13:59:29.986 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1:M 23 Jun 2025 13:59:29.987 * monotonic clock: POSIX clock_gettime
1:M 23 Jun 2025 13:59:29.989 * Running mode=standalone, port=6379.
1:M 23 Jun 2025 13:59:29.989 * Server initialized
1:M 23 Jun 2025 13:59:29.989 * Loading RDB produced by version 7.4.4
1:M 23 Jun 2025 13:59:29.989 * RDB age 22 seconds
1:M 23 Jun 2025 13:59:29.989 * RDB memory usage when created 1.41 Mb
1:M 23 Jun 2025 13:59:29.989 * Done loading RDB, keys loaded: 12, keys expired: 5.
1:M 23 Jun 2025 13:59:29.990 * DB loaded from disk: 0.001 seconds
1:M 23 Jun 2025 13:59:29.990 * Ready to accept connections tcp

logs from the main container:

bash
yarn run v1.22.19
warning package.json: License should be a valid SPDX license expression
$ node ./bin/database/convert-migrations.js && knex migrate:latest
Already up to date
Done in 31.60s.
yarn run v1.22.19
warning package.json: License should be a valid SPDX license expression
$ node ./bin/database/seed-user.js
2025-06-23 18:00:34:034 [info]: No need to seed a user.
Done in 1.60s.
yarn run v1.22.19
warning package.json: License should be a valid SPDX license expression
$ node src/server.js
2025-06-23 18:00:36:036 [info]: Server is listening on http://localhost:3005
2025-06-23 18:00:47:047 [http]: GET / 304 - - 4.558 ms
2025-06-23 18:00:47:047 [http]: GET /fonts/Inter-Regular.ttf 304 - - 2.411 ms
2025-06-23 18:00:47:047 [http]: GET /fonts/Inter-Medium.ttf 304 - - 0.885 ms
2025-06-23 18:00:47:047 [http]: GET /fonts/Inter-Bold.ttf 304 - - 0.339 ms
2025-06-23 18:00:47:047 [http]: GET /static/js/main.2f9b4d41.js 304 - - 0.586 ms
2025-06-23 18:00:47:047 [http]: GET /static/css/main.f4244055.css 200 7425 - 2.065 ms
2025-06-23 18:00:47:047 [http]: GET /api/v1/automatisch/config 404 - - 0.629 ms
2025-06-23 18:00:47:047 [http]: GET /api/v1/automatisch/info 304 - - 13.608 ms
2025-06-23 18:00:48:048 [http]: GET /api/v1/automatisch/version 304 - - 0.421 ms
2025-06-23 18:00:48:048 [http]: GET /api/v1/users/me/trial 404 - - 64.806 ms
2025-06-23 18:00:48:048 [http]: GET /api/v1/users/me 304 - - 66.786 ms
2025-06-23 18:00:48:048 [http]: GET /api/v1/flows?name=&page=1 200 1637 - 18.903 ms
2025-06-23 18:00:48:048 [http]: GET /api/v1/automatisch/notifications 304 - - 588.920 ms
2025-06-23 18:00:50:050 [http]: GET /api/v1/users/me 304 - - 16.612 ms
2025-06-23 18:00:50:050 [http]: GET /api/v1/users/9d83b84f-b091-4210-bcc2-5889fffb2341/apps 200 574 - 99.828 ms
2025-06-23 18:00:52:052 [http]: GET /api/v1/apps?name= 200 15133 - 29.683 ms
2025-06-23 18:01:00:10 [http]: GET / 200 1216 - 1.441 ms
2025-06-23 18:01:30:130 [http]: GET / 200 1216 - 1.039 ms
2025-06-23 18:02:00:20 [http]: GET / 200 1216 - 0.974 ms
2025-06-23 18:02:30:230 [http]: GET / 200 1216 - 0.820 ms
2025-06-23 18:03:00:30 [http]: GET / 200 1216 - 0.655 ms
2025-06-23 18:03:31:331 [http]: GET / 200 1216 - 0.761 ms
2025-06-23 18:04:01:41 [http]: GET / 200 1216 - 0.829 ms
2025-06-23 18:04:31:431 [http]: GET / 200 1216 - 1.129 ms
2025-06-23 18:04:50:450 [http]: GET /api/v1/apps?name= 304 - - 71.529 ms
2025-06-23 18:05:01:51 [http]: GET / 200 1216 - 0.936 ms
2025-06-23 18:05:31:531 [http]: GET / 200 1216 - 0.586 ms
2025-06-23 18:06:01:61 [http]: GET / 200 1216 - 0.560 ms
2025-06-23 18:06:31:631 [http]: GET / 200 1216 - 1.153 ms
2025-06-23 18:07:01:71 [http]: GET / 200 1216 - 0.703 ms
2025-06-23 18:07:31:731 [http]: GET / 200 1216 - 0.989 ms

here is the content of the docker stack (docker compose):

services:
  redis:
    image: redis:7
    container_name: automatisch-redis
    hostname: automatisch-redis
    security_opt:
      - no-new-privileges:true
    read_only: false
    volumes:
      - /mnt/docker_data/automatisch/redis:/data:rw
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    environment:
      TZ: America/New_York
    restart: on-failure:5

  db:
    image: postgres:17
    container_name: automatisch-db
    hostname: automatisch-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "automatisch", "-U", "automatisch"]
      timeout: 45s
      interval: 10s
      retries: 10
    volumes:
      - /mnt/docker_data/automatisch/db:/var/lib/postgresql/data:rw
    environment:
      POSTGRES_DB: automatisch
      POSTGRES_USER: automatisch
      POSTGRES_PASSWORD: redacted
    restart: on-failure:5

  main:
    image: automatischio/automatisch:latest
    container_name: automatisch
    hostname: automatisch
    security_opt:
      - no-new-privileges=true
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:3005/ || exit 1
    ports:
      - 3005:3005
    volumes:
      - /mnt/docker_data/automatisch/storage:/automatisch/storage:rw
    environment:
      PORT: 3005
      APP_ENV: production
      REDIS_HOST: automatisch-redis
      POSTGRES_HOST: automatisch-db
      POSTGRES_DATABASE: automatisch
      POSTGRES_USERNAME: automatisch
      POSTGRES_PASSWORD: redacted
      ENCRYPTION_KEY: my9bfhzxuojhVlrWs4redacted
      WEBHOOK_SECRET_KEY: fS7b0CZa33pt0XVredacted
      APP_SECRET_KEY: hL2LPvKBGMadtsu4redacted
    restart: on-failure:5
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_healthy

  worker:
    image: automatischio/automatisch:latest
    container_name: automatisch-worker
    hostname: automatisch-worker
    security_opt:
      - no-new-privileges=true
    volumes:
      - /mnt/docker_data/automatisch/storage:/automatisch/storage:rw
    environment:
      WORKER: true
      APP_ENV: production
      REDIS_HOST: automatisch-redis
      POSTGRES_HOST: automatisch-db
      POSTGRES_DATABASE: automatisch
      POSTGRES_USERNAME: automatisch
      POSTGRES_PASSWORD: redacted
      ENCRYPTION_KEY: my9bfhzxuojhVlrWs4redacted
      WEBHOOK_SECRET_KEY: fS7b0CZa33pt0XVredacted
      APP_SECRET_KEY: hL2LPvKBGMadtsu4redacted
    restart: on-failure:5
    depends_on:
      main:
        condition: service_started