I've been using the all-in-one container for some time on Unraid, but have decided to move my docker containers off my server and onto a Raspberry Pi 4 running docker-ce and portainer.
As the all-in-one container is now depreciated, I'm trying to deploy the multi-container method.
I've been struggling to get it working; I've been trying to use the 'stack' functionality (portainers eqv. of docker-compose)
the stack (docker-compose):
version: "3"
services:
postgres:
restart: unless-stopped
networks:
- default
env_file: .env
environment:
- "POSTGRES_HOST_AUTH_METHOD=trust"
image: postgres:11
volumes:
- ./data/postgres:/var/lib/postgresql/data
redis:
restart: unless-stopped
networks:
- default
env_file: .env
image: redis:5
volumes:
- ./data/redis:/data
celeryworker:
restart: unless-stopped
image: funkwhale/funkwhale:${FUNKWHALE_VERSION:-latest}
networks:
- default
depends_on:
- postgres
- redis`
env_file:
.env
command: celery -A funkwhale_api.taskapp beat --pidfile= -l INFO
api:
restart: unless-stopped
image: funkwhale/funkwhale:${FUNKWHALE_VERSION:-latest}
networks:
- default
depends_on:
- postgres
- redis
env_file: .env
volumes:
- "${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:${MUSIC_DIRECTORY_PATH-/music}:ro"
- "${MEDIA_ROOT}:${MEDIA_ROOT}"
- "${STATIC_ROOT}:${STATIC_ROOT}"
- "${FUNKWHALE_FRONTEND_PATH}:/frontend"
ports:
- "5000"
nginx:
restart: unless-stopped
image: nginx
networks:
- default
depends_on:
- api
env_file:
- .env
environment:
- "NGINX_MAX_BODY_SIZE=${NGINX_MAX_BODY_SIZE-100M}"
volumes:
- "./nginx/funkwhale.template:/etc/nginx/conf.d/funkwhale.template:ro"
- "./nginx/funkwhale_proxy.conf:/etc/nginx/funkwhale_proxy.conf:ro"
- "${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:${MUSIC_DIRECTORY_PATH-/music}:ro"
- "${MEDIA_ROOT}:${MEDIA_ROOT}:ro"
- "${STATIC_ROOT}:${STATIC_ROOT}:ro"
- "${FUNKWHALE_FRONTEND_PATH}:/frontend:ro"
ports:
- "${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}:80"
command: >
sh -c "envsubst \"`env | awk -F = '{printf \" $$%s\", $$1}'`\"
< /etc/nginx/conf.d/funkwhale.template
> /etc/nginx/conf.d/default.conf
&& cat /etc/nginx/conf.d/default.conf
&& nginx -g 'daemon off;'"
networks:
default:
funkwhale.env
FUNKWHALE_API_IP=127.0.0.1
FUNKWHALE_API_PORT=5000
FUNKWHALE_WEB_WORKERS=4
FUNKWHALE_HOSTNAME=hazzanetfunkwhale.duckdns.org
FUNKWHALE_PROTOCOL=https
LOGLEVEL=error
REVERSE_PROXY_TYPE=nginx
MEDIA_ROOT=/srv/funkwhale/data/media
STATIC_ROOT=/srv/funkwhale/data/static
DJANGO_SETTINGS_MODULE=config.settings.production
DJANGO_SECRET_KEY=funkwhale
MUSIC_DIRECTORY_PATH=/music
MUSIC_DIRECTORY_SERVE_PATH=/ssd/Music
FUNKWHALE_FRONTEND_PATH=/srv/funkwhale/front/dist
NGINX_MAX_BODY_SIZE=100M
Everything seems to come up fine, but when I try and load the webpage, I get thrown a 'Server Error (500)' and the api container shows this in the log
2022-03-01 20:02:09,197 django.request ERROR Internal Server Error: /
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "dynamic_preferences_globalpreferencemodel" does not exist
LINE 1: ...eferences_globalpreferencemodel"."raw_value" FROM "dynamic_p...
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/app/funkwhale_api/common/middleware.py", line 239, in __call__
return serve_spa(request)
File "/app/funkwhale_api/common/middleware.py", line 45, in serve_spa
title = preferences.get("instance__name")
File "/app/funkwhale_api/common/preferences.py", line 17, in get
return manager[pref]
File "/venv/lib/python3.8/site-packages/dynamic_preferences/managers.py", line 33, in __getitem__
return self.get(key)
File "/venv/lib/python3.8/site-packages/dynamic_preferences/managers.py", line 141, in get
db_pref = self.get_db_pref(section=section, name=name)
File "/venv/lib/python3.8/site-packages/dynamic_preferences/managers.py", line 147, in get_db_pref
pref = self.queryset.get(section=section, name=name)
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 431, in get
num = len(clone)
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 262, in __len__
self._fetch_all()
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 51, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/venv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/venv/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "dynamic_preferences_globalpreferencemodel" does not exist
LINE 1: ...eferences_globalpreferencemodel"."raw_value" FROM "dynamic_p...
^
2022-03-01 20:02:09,532 django.request ERROR Internal Server Error: /favicon.ico
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "dynamic_preferences_globalpreferencemodel" does not exist
LINE 1: ...eferences_globalpreferencemodel"."raw_value" FROM "dynamic_p...
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/app/funkwhale_api/common/middleware.py", line 239, in __call__
return serve_spa(request)
File "/app/funkwhale_api/common/middleware.py", line 45, in serve_spa
title = preferences.get("instance__name")
File "/app/funkwhale_api/common/preferences.py", line 17, in get
return manager[pref]
File "/venv/lib/python3.8/site-packages/dynamic_preferences/managers.py", line 33, in __getitem__
return self.get(key)
File "/venv/lib/python3.8/site-packages/dynamic_preferences/managers.py", line 141, in get
db_pref = self.get_db_pref(section=section, name=name)
File "/venv/lib/python3.8/site-packages/dynamic_preferences/managers.py", line 147, in get_db_pref
pref = self.queryset.get(section=section, name=name)
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 431, in get
num = len(clone)
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 262, in __len__
self._fetch_all()
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 51, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/venv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/venv/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "dynamic_preferences_globalpreferencemodel" does not exist
LINE 1: ...eferences_globalpreferencemodel"."raw_value" FROM "dynamic_p...
^
`
celery_worker log:
` File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/venv/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "django_content_type" does not exist
LINE 1: ..."."app_label", "django_content_type"."model" FROM "django_co...
^
[2022-03-01 20:01:00,945: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/celery/app/trace.py", line 450, in trace_task
R = retval = fun(*args, **kwargs)
[2022-03-01 20:01:00,945: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/celery/app/trace.py", line 731, in __protected_call__
return self.run(*args, **kwargs)
[2022-03-01 20:01:00,956: WARNING/ForkPoolWorker-3] File "/app/funkwhale_api/federation/tasks.py", line 240, in refresh_nodeinfo_known_nodes
logger.info("Launching periodic nodeinfo refresh on %s domains", len(names))
[2022-03-01 20:01:00,957: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 262, in __len__
self._fetch_all()
[2022-03-01 20:01:00,957: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
[2022-03-01 20:01:00,958: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 171, in __iter__
for row in compiler.results_iter(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size):
[2022-03-01 20:01:00,958: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1130, in results_iter
results = self.execute_sql(MULTI, chunked_fetch=chunked_fetch, chunk_size=chunk_size)
[2022-03-01 20:01:00,959: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
[2022-03-01 20:01:00,959: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
[2022-03-01 20:01:00,960: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
[2022-03-01 20:01:00,960: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
[2022-03-01 20:01:00,961: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
[2022-03-01 20:01:00,967: WARNING/ForkPoolWorker-3] File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
[2022-03-01 20:01:00,968: WARNING/ForkPoolWorker-3] django.db.utils.ProgrammingError: relation "federation_domain" does not exist
LINE 1: SELECT "federation_domain"."name" FROM "federation_domain" W...
^
[2022-03-01 20:01:00,969: ERROR/ForkPoolWorker-3] Task federation.refresh_nodeinfo_known_nodes[7873b24e-a465-4ef9-8358-fa109adb5c8a] raised unexpected: ProgrammingError('relation "federation_domain" does not exist\nLINE 1: SELECT "federation_domain"."name" FROM "federation_domain" W...\n ^\n')
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "federation_domain" does not exist
LINE 1: SELECT "federation_domain"."name" FROM "federation_domain" W...
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/celery/app/trace.py", line 450, in trace_task
R = retval = fun(*args, **kwargs)
File "/venv/lib/python3.8/site-packages/celery/app/trace.py", line 731, in __protected_call__
return self.run(*args, **kwargs)
File "/app/funkwhale_api/federation/tasks.py", line 240, in refresh_nodeinfo_known_nodes
logger.info("Launching periodic nodeinfo refresh on %s domains", len(names))
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 262, in __len__
self._fetch_all()
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 1324, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/venv/lib/python3.8/site-packages/django/db/models/query.py", line 171, in __iter__
for row in compiler.results_iter(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size):
File "/venv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1130, in results_iter
results = self.execute_sql(MULTI, chunked_fetch=chunked_fetch, chunk_size=chunk_size)
File "/venv/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
cursor.execute(sql, params)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/venv/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "federation_domain" does not exist
LINE 1: SELECT "federation_domain"."name" FROM "federation_domain" W...
^`
postgres log:
`********************************************************************************
WARNING: POSTGRES_HOST_AUTH_METHOD has been set to "trust". This will allow
anyone with access to the Postgres port to access your database without
a password, even if POSTGRES_PASSWORD is set. See PostgreSQL
documentation about "trust":
https://www.postgresql.org/docs/current/auth-trust.html
In Docker's default configuration, this is effectively any other
container on the same system.
It is not recommended to use POSTGRES_HOST_AUTH_METHOD=trust. Replace
it with "-e POSTGRES_PASSWORD=password" instead to set a password in
"docker run".
********************************************************************************
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /var/lib/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... Etc/UTC
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
pg_ctl -D /var/lib/postgresql/data -l logfile start
waiting for server to start....2022-03-01 20:00:44.528 UTC [49] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
...2022-03-01 20:00:47.796 UTC [50] LOG: database system was shut down at 2022-03-01 20:00:39 UTC
2022-03-01 20:00:47.933 UTC [49] LOG: database system is ready to accept connections
done
server started
/usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
2022-03-01 20:00:48.492 UTC [49] LOG: received fast shutdown request
waiting for server to shut down....2022-03-01 20:00:48.519 UTC [49] LOG: aborting any active transactions
2022-03-01 20:00:48.527 UTC [49] LOG: background worker "logical replication launcher" (PID 56) exited with exit code 1
2022-03-01 20:00:48.532 UTC [51] LOG: shutting down
2022-03-01 20:00:48.895 UTC [49] LOG: database system is shut down
done
server stopped
PostgreSQL init process complete; ready for start up.
2022-03-01 20:00:49.057 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2022-03-01 20:00:49.057 UTC [1] LOG: listening on IPv6 address "::", port 5432
2022-03-01 20:00:49.069 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2022-03-01 20:00:49.177 UTC [68] LOG: database system was shut down at 2022-03-01 20:00:48 UTC
2022-03-01 20:00:49.223 UTC [1] LOG: database system is ready to accept connections
2022-03-01 20:01:00.584 UTC [77] ERROR: relation "federation_actor" does not exist at character 902
2022-03-01 20:01:00.584 UTC [77] STATEMENT: SELECT "federation_actor"."id", "federation_actor"."fid", "federation_actor"."url", "federation_actor"."outbox_url", "federation_actor"."inbox_url", "federation_actor"."following_url", "federation_actor"."followers_url", "federation_actor"."shared_inbox_url", "federation_actor"."type", "federation_actor"."name", "federation_actor"."domain_id", "federation_actor"."summary", "federation_actor"."summary_obj_id", "federation_actor"."preferred_username", "federation_actor"."public_key", "federation_actor"."private_key", "federation_actor"."creation_date", "federation_actor"."last_fetch_date", "federation_actor"."manually_approves_followers", "federation_actor"."attachment_icon_id", "federation_domain"."name", "federation_domain"."creation_date", "federation_domain"."nodeinfo_fetch_date", "federation_domain"."nodeinfo", "federation_domain"."service_actor_id", "federation_domain"."allowed" FROM "federation_actor" INNER JOIN "federation_domain" ON ("federation_actor"."domain_id" = "federation_domain"."name") WHERE ("federation_actor"."domain_id" = 'hazzanetfunkwhale.duckdns.org' AND "federation_actor"."preferred_username" = 'service') LIMIT 21
2022-03-01 20:01:00.608 UTC [78] ERROR: relation "dynamic_preferences_globalpreferencemodel" does not exist at character 226
2022-03-01 20:01:00.608 UTC [78] STATEMENT: SELECT "dynamic_preferences_globalpreferencemodel"."id", "dynamic_preferences_globalpreferencemodel"."section", "dynamic_preferences_globalpreferencemodel"."name", "dynamic_preferences_globalpreferencemodel"."raw_value" FROM "dynamic_preferences_globalpreferencemodel" WHERE ("dynamic_preferences_globalpreferencemodel"."name" = 'transcoding_cache_duration' AND "dynamic_preferences_globalpreferencemodel"."section" = 'music') LIMIT 21
2022-03-01 20:01:00.624 UTC [76] ERROR: relation "django_content_type" does not exist at character 106
2022-03-01 20:01:00.624 UTC [76] STATEMENT: SELECT "django_content_type"."id", "django_content_type"."app_label", "django_content_type"."model" FROM "django_content_type" WHERE ("django_content_type"."app_label" = 'music' AND "django_content_type"."model" = 'album') LIMIT 21
2022-03-01 20:01:00.624 UTC [75] ERROR: relation "django_content_type" does not exist at character 106
2022-03-01 20:01:00.624 UTC [75] STATEMENT: SELECT "django_content_type"."id", "django_content_type"."app_label", "django_content_type"."model" FROM "django_content_type" WHERE ("django_content_type"."app_label" = 'music' AND "django_content_type"."model" = 'artist') LIMIT 21
2022-03-01 20:01:00.676 UTC [78] ERROR: relation "dynamic_preferences_globalpreferencemodel" does not exist at character 226
2022-03-01 20:01:00.676 UTC [78] STATEMENT: SELECT "dynamic_preferences_globalpreferencemodel"."id", "dynamic_preferences_globalpreferencemodel"."section", "dynamic_preferences_globalpreferencemodel"."name", "dynamic_preferences_globalpreferencemodel"."raw_value" FROM "dynamic_preferences_globalpreferencemodel" WHERE ("dynamic_preferences_globalpreferencemodel"."name" = 'music_cache_duration' AND "dynamic_preferences_globalpreferencemodel"."section" = 'federation') LIMIT 21
2022-03-01 20:01:00.773 UTC [77] ERROR: relation "users_refreshtoken" does not exist at character 35
2022-03-01 20:01:00.773 UTC [77] STATEMENT: SELECT COUNT(*) AS "__count" FROM "users_refreshtoken" WHERE "users_refreshtoken"."revoked" < '2022-02-14T20:01:00.717532+00:00'::timestamptz
2022-03-01 20:01:00.840 UTC [78] ERROR: relation "common_attachment" does not exist at character 35
2022-03-01 20:01:00.840 UTC [78] STATEMENT: SELECT COUNT(*) AS "__count" FROM "common_attachment" LEFT OUTER JOIN "common_mutationattachment" ON ("common_attachment"."id" = "common_mutationattachment"."attachment_id") WHERE (NOT ((NOT (EXISTS(SELECT (1) AS "a" FROM "common_attachment" U0 LEFT OUTER JOIN "music_album" U1 ON (U0."id" = U1."attachment_cover_id") WHERE (U1."id" IS NULL AND U0."id" = "common_attachment"."id") LIMIT 1)) OR NOT ("common_mutationattachment"."id" IS NULL) OR NOT (EXISTS(SELECT (1) AS "a" FROM "common_attachment" U0 LEFT OUTER JOIN "music_track" U1 ON (U0."id" = U1."attachment_cover_id") WHERE (U1."id" IS NULL AND U0."id" = "common_attachment"."id" AND "common_attachment"."id" = "common_attachment"."id") LIMIT 1)) OR NOT (EXISTS(SELECT (1) AS "a" FROM "common_attachment" U0 LEFT OUTER JOIN "music_artist" U1 ON (U0."id" = U1."attachment_cover_id") WHERE (U1."id" IS NULL AND U0."id" = "common_attachment"."id" AND "common_attachment"."id" = "common_attachment"."id") LIMIT 1)) OR NOT (EXISTS(SELECT (1) AS "a" FROM "common_attachment" U0 LEFT OUTER JOIN "federation_actor" U1 ON (U0."id" = U1."attachment_icon_id") WHERE (U1."id" IS NULL AND U0."id" = "common_attachment"."id" AND "common_attachment"."id" = "common_attachment"."id") LIMIT 1)))) AND "common_attachment"."creation_date" <= '2022-02-28T20:01:00.755517+00:00'::timestamptz)
2022-03-01 20:01:00.928 UTC [78] ERROR: relation "federation_domain" does not exist at character 40
2022-03-01 20:01:00.928 UTC [78] STATEMENT: SELECT "federation_domain"."name" FROM "federation_domain" WHERE (NOT ("federation_domain"."name" = 'hazzanetfunkwhale.duckdns.org') AND NOT ("federation_domain"."nodeinfo_fetch_date" >= '2022-02-28T20:01:00.912814+00:00'::timestamptz AND "federation_domain"."nodeinfo_fetch_date" IS NOT NULL))
2022-03-01 20:02:09.194 UTC [80] ERROR: relation "dynamic_preferences_globalpreferencemodel" does not exist at character 226
2022-03-01 20:02:09.194 UTC [80] STATEMENT: SELECT "dynamic_preferences_globalpreferencemodel"."id", "dynamic_preferences_globalpreferencemodel"."section", "dynamic_preferences_globalpreferencemodel"."name", "dynamic_preferences_globalpreferencemodel"."raw_value" FROM "dynamic_preferences_globalpreferencemodel" WHERE ("dynamic_preferences_globalpreferencemodel"."name" = 'name' AND "dynamic_preferences_globalpreferencemodel"."section" = 'instance') LIMIT 21
2022-03-01 20:02:09.529 UTC [80] ERROR: relation "dynamic_preferences_globalpreferencemodel" does not exist at character 226
2022-03-01 20:02:09.529 UTC [80] STATEMENT: SELECT "dynamic_preferences_globalpreferencemodel"."id", "dynamic_preferences_globalpreferencemodel"."section", "dynamic_preferences_globalpreferencemodel"."name", "dynamic_preferences_globalpreferencemodel"."raw_value" FROM "dynamic_preferences_globalpreferencemodel" WHERE ("dynamic_preferences_globalpreferencemodel"."name" = 'name' AND "dynamic_preferences_globalpreferencemodel"."section" = 'instance') LIMIT 21`
Edit: Fix formatting by @gcrk