Repository navigation
Replies: 2 comments 2 replies
|
This looks very likely to be the stock Docker Celery sizing being too large for a 4 GB VPS. In the current Docker config,
For a small Docker install I would try this first: # deploy/docker/local_settings.py
DO_NOT_TRANSCODE_VIDEO = TrueThe admin docs describe this as the low-capability-server option: it disables transcoding and sprite creation, and only the original file is shown. If you still need transcoding, reduce the worker concurrency instead of using the defaults: # deploy/docker/supervisord/supervisord-celery_long.conf
- ... -Ofair --prefetch-multiplier=1 -Q long_tasks
+ ... -Ofair --prefetch-multiplier=1 -c1 -Q long_tasks
# deploy/docker/supervisord/supervisord-celery_short.conf
- celery multi start short1 short2 ... --soft-time-limit=300 -c10 -Q short_tasks
+ celery multi start short1 ... --soft-time-limit=300 -c2 -Q short_tasksThen recreate the worker container so docker compose up -d --force-recreate celery_workerAlso check how many encode profiles are active; every active profile means more ffmpeg work per upload: docker compose exec web python manage.py shell -c "from files.models import EncodeProfile; print(list(EncodeProfile.objects.filter(active=True).values('id','name','resolution','codec')))"On 4 GB RAM I would start with |
|
Hi all, @krotname good catch regarding the celery number of workers. I also have been running the default settings in a number of small capabilities VMs (eg https://demo.mediacms.io/ runs in a 2cpu/2GB VM) without issues, but maybe it makes sense to expose these settings in a more easily configurable way, like somehow pass them from settings.py. I'd still keep the ones that are currently set as the default ones but give a way to override more easily. If you're interested to having a look and submit a PR that would be great. |
Uh oh!
There was an error while loading. Please reload this page.
Hi everyone,
I'm running the Docker version of MediaCMS 8.3.0 on a small vServer (Debian Trixie, 4 vCPUs, 4 GB RAM). Everything worked smoothly with version 7.2, especially video uploads. Since upgrading to the 8.x series, however, I'm facing a serious issue:
After uploading a video, the server almost always gets completely overloaded. CPU and memory usage go to 100%, the whole system becomes unresponsive (even SSH access stops responding), and the only way to recover is a full vServer restart.
Additionally, even when MediaCMS is completely idle, the Celery workers seem to consume nearly all available RAM.
Has anyone else experienced similar problems with MediaCMS 8.x in a Docker environment on limited hardware? Are there any known configuration options, Docker environment variables, Celery settings, or best practices to significantly reduce the resource footprint (especially for Celery workers and during video processing)?
Any tips, configuration examples, or pointers to relevant documentation would be greatly appreciated!
Thanks in advance for your help — really loving the project and would like to keep using it on smaller servers.
Frank
All reactions