Hi @joel.edwards thank you for your valuable response. I have got this log while uploading a file below
tutor local logs --tail=10 -f
lms-1 | 2025-11-17 13:32:14,592 INFO 39 [tracking] [user 18] [ip 10.0.0.7] logger.py:41 - {“name”: “/courses/course-v1:mydomain+SMI+ACIS-SMI-1025-15Nov2025/instructor/api/list_instructor_tasks”, “context”: {“course_id”: “course-v1:mydomain+SMI+ACIS-SMI-1025-15Nov2025”, “course_user_tags”: {}, “user_id”: 18, “path”: “/courses/course-v1:mydomain+SMI+ACIS-SMI-1025-15Nov2025/instructor/api/list_instructor_tasks”, “org_id”: “mydomain”, “enterprise_uuid”: “”}, “username”: “ben_lithan_com”, “session”: “1b2a9af061a1e1d5c90285728f3c972d”, “ip”: “10.0.0.7”, “agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0”, “host”: “mydomain.domain.com”, “referer”: “https://mydomain.domain.com/courses/course-v1:mydomain+SMI+ACIS-SMI-1025-15Nov2025/instructor”, “accept_language”: “en-US,en;q=0.5”, “event”: “{“GET”: {}, “POST”: {}}”, “time”: “2025-11-17T13:32:14.592730+00:00”, “event_type”: “/courses/course-v1:mydomain+SMI+ACIS-SMI-1025-15Nov2025/instructor/api/list_instructor_tasks”, “event_source”: “server”, “page”: null}
lms-1 | [pid: 39|app: 0|req: 18151/40883] 172.18.0.4 () {60 vars in 1529 bytes} [Mon Nov 17 13:32:14 2025] POST /courses/course-v1:mydomain+SMI+ACIS-SMI-1025-15Nov2025/instructor/api/list_instructor_tasks => generated 17 bytes in 75 msecs (HTTP/1.1 200) 12 headers in 665 bytes (1 switches on core 0)
caddy-1 | {“level”:“info”,“ts”:1763386334.6555169,“logger”:“http.log.access.log0”,“msg”:“handled request”,“request”:{“remote_ip”:“10.0.0.7”,“remote_port”:“50715”,“client_ip”:“10.0.0.7”,“proto”:“HTTP/3.0”,“method”:“POST”,“host”:“mydomain.domain.com”,“uri”:“/courses/course-v1:mydomain+SMI+ACIS-SMI-1025-15Nov2025/instructor/api/list_instructor_tasks”,“tls”:{“resumed”:true,“version”:772,“cipher_suite”:4865,“proto”:“h3”,“server_name”:“mydomain.domain.com”}},“bytes_read”:0,“user_id”:“”,“duration”:0.07656228,“size”:17,“status”:200}
lms-1 | 2025-11-17 13:32:15,400 INFO 38 [tracking] [user 5] [ip 10.0.0.5] logger.py:41 - {“name”: “/courses/course-v1:OpenedX+DemoX+DemoCourse/xblock/block-v1:OpenedX+DemoX+DemoCourse+type@edx_sga+block@7a86a1b843394bf8871ae103dc3c4edb/handler/upload_assignment”, “context”: {“course_id”: “course-v1:OpenedX+DemoX+DemoCourse”, “course_user_tags”: {}, “user_id”: 5, “path”: “/courses/course-v1:OpenedX+DemoX+DemoCourse/xblock/block-v1:OpenedX+DemoX+DemoCourse+type@edx_sga+block@7a86a1b843394bf8871ae103dc3c4edb/handler/upload_assignment”, “org_id”: “OpenedX”, “enterprise_uuid”: “”}, “username”: “Neville_mydomain”, “session”: “54a5d7391a570893286aadfe1e3d0ba4”, “ip”: “10.0.0.5”, “agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36”, “host”: “mydomain.domain.com”, “referer”: “https://mydomain.domain.com/xblock/block-v1:OpenedX+DemoX+DemoCourse+type@vertical+block@78b75020d3894fdfa8b4994f97275294?exam_access=&jumpToId&preview=0&recheck_access=1&show_bookmark=0&show_title=0&view=student_view”, “accept_language”: “en-US,en;q=0.9”, “event”: “{“GET”: {}, “POST”: {}}”, “time”: “2025-11-17T13:32:15.400054+00:00”, “event_type”: “/courses/course-v1:OpenedX+DemoX+DemoCourse/xblock/block-v1:OpenedX+DemoX+DemoCourse+type@edx_sga+block@7a86a1b843394bf8871ae103dc3c4edb/handler/upload_assignment”, “event_source”: “server”, “page”: null}
lms-1 | 2025-11-17 13:32:15,503 INFO 38 [submissions.api] [user 5] [ip 10.0.0.5] api.py:989 - Created submission uuid=390ffc41-3dba-4ba3-8290-c5fba60ffee4 for (course_id=course-v1:OpenedX+DemoX+DemoCourse, item_id=block-v1:OpenedX+DemoX+DemoCourse+type@edx_sga+block@7a86a1b843394bf8871ae103dc3c4edb, anonymous_student_id=9e0fbc63bc9e736fde69a11ab8fe785e)
lms-1 | 2025-11-17 13:32:15,503 INFO 38 [edx_sga.sga] [user 5] [ip 10.0.0.5] sga.py:284 - Saving file: Form15G.pdf at path: OpenedX/DemoX/edx_sga/7a86a1b843394bf8871ae103dc3c4edb/d432c47528b45dd4cbd82c869b620168661d4423.pdf for user: Neville_mydomain
lms-1 | [pid: 38|app: 0|req: 18365/40884] 172.18.0.4 () {68 vars in 3860 bytes} [Mon Nov 17 13:32:15 2025] POST /courses/course-v1:OpenedX+DemoX+DemoCourse/xblock/block-v1:OpenedX+DemoX+DemoCourse+type@edx_sga+block@7a86a1b843394bf8871ae103dc3c4edb/handler/upload_assignment => generated 231 bytes in 419 msecs (HTTP/1.1 200) 8 headers in 390 bytes (24 switches on core 0)
caddy-1 | {“level”:“info”,“ts”:1763386335.5255284,“logger”:“http.log.access.log0”,“msg”:“handled request”,“request”:{“remote_ip”:“10.0.0.5”,“remote_port”:“64362”,“client_ip”:“10.0.0.5”,“proto”:“HTTP/3.0”,“method”:“POST”,“host”:“mydomain.domain.com”,“uri”:“/courses/course-v1:OpenedX+DemoX+DemoCourse/xblock/block-v1:OpenedX+DemoX+DemoCourse+type@edx_sga+block@7a86a1b843394bf8871ae103dc3c4edb/handler/upload_assignment”,“tls”:{“resumed”:true,“version”:772,“cipher_suite”:4865,“proto”:“h3”,“server_name”:“mydomain.domain.com”}},“bytes_read”:156616,“user_id”:“”,“duration”:0.420915229,“size”:231,“status”:200}
Not sure if it makes sense to you. what would be the path to add below?
I have got the below plugin that works (correctly adds and doesn’t replace the blocks) but not sure about the path/URI/URL to give in Caddy file. Does the log give you any clues?
from tutor import hooks
============================================================
1. LMS Python settings for ORA2 (SGA) upload limit
============================================================
hooks.Filters.ENV_PATCHES.add_item((
“openedx-lms-common-settings”,
“”"
SGA / ORA2 upload limit
STUDENT_FILEUPLOAD_MAX_SIZE = 25 * 1000 * 1000
"""
))
============================================================
2. Caddy upload limit (reverse proxy)
============================================================
hooks.Filters.ENV_PATCHES.add_item((
“caddyfile-lms”,
“”"
Increase SGA upload size for Staff Graded Assignment
handle /* {
request_body {
max_size 25MB
}
}
“”"
))
Also about frontend-app-authoring you agree its valid for my install as well and I need to do it to complete my solution.