This enables automatic instrumentation of Postgres queries when
OpenTelemetry instrumentation is enabled, which will help with debugging
performance problems.
Since Celery tasks don't affect interactive latency, we should have a
more generous timeout. This also allows admins to set the timeout for
Celery and the web frontend separately, without breaking backwards
compatibility with the previous environment variable.
Many of these environment variables were probably not actually usable,
since they would be strings if set in the env file. Using the
typecasting functions fixes this, and generally shows the intention of
the code more clearly.
TODO
- [ ] Delay task (Celery?)
- [ ] Store the image in a subfolder unique to the edition, to make cleaning up the image easy
- [ ] Clean up the image before replacing it
- [ ] Ensure that the image will be cleaned when the edition is deleted ??
- [ ] Use instance custom colors?
- [ ] Use book cover color base?
Needed to prevent connection errors if the password contains non-urlsafe characters.
Dockerfile change because all the services using it are mirroring ./ in /app now anyway.
Flower needs because it needs bookwyrm in order to read the celerywyrm config (because flower only allows overwriting broker_url from the command line and we want to do it in Python so we have access to a urlencode function).
the link to celery's homepage has been dead for at least several months
activitypub.rocks now supports tls (yay!)
the links to django's docs were for older versions of django than what bookwyrm uses