Артём Петренков, я не говорил, что они по-другому устроены. Практика показала, что типографы часто ошибаются. Приходится тексты проверять еще раз. Они лишь ускоряют процесс подготовки текста.
И я считаю костылём не автоматизацию, а конечный список частиц речи, предлогов, союзов и междометий.
Артём Петренков, потому что русский язык чуточку сложнее.
Подобные правки делаются редактором (автором) текста перед публикацией. Наилучший порядок: вычитать, исправить опечатки, использовать типограф (легко встраивается в CKEditor), вычитать, расставить ­ переносы в длинных словах (в мобильной версии могут не поместиться по ширине).
Это не реализовать. Все равно придется проходить стадию сверки документов с оригиналами.
К тому же, скан можно изменить, распечатать и снова отсканировать.
sorry_i_noob, вы можете сгенеририровать этот файл на сервере, заархивировать, чтобы он занимал меньше места, и, скачав, удалить.
Альтернативно: генерировать страницу с помощью серии асинхронных запросов средствами js (потом просто сохраните). Костыльно, но сэкономит место и время, а также позволит делать паузы и полные остановки.
Судя по конфигу, docker compose reference и инструкции к образам вы не читали. Порты настроены неправильно, не описан сетевой слой, php "не знает" об apache и mysql.