Неудачный перенос сообщества идеалистов

На вчера наметил вторую часть переноса своих проектов. В этот раз на новый VDS должен был отправиться сайт idealists.su. Но на этот раз всё пошло вкривь и вкось. Точнее, перенос файлов прошёл нормально. Сложности начались с дампом базы. Почему-то он не хотел нормально разворачиваться. Я пытался перенести его и в виде SQL, и в бинарном — но без толку: куча каких-то непонятных ошибок. Сначала я думал, что дело в разных версиях PostgreSQL, но нет. Версия была одна и та же с точностью до релиза. Ломал голову почти час, пока не сообразил сделать импорт под системным пользователем Postgres, а не под тем, который был создан для akkoma. Под ним всё отработало нормально.
Оставалось только запустить nginx. Казалось бы, что тут может пойти не так. Однако смогло! Nginx вдруг отказался запускаться, сообщив, что не может повиснуть на 443 порту. Сначала я даже не понял, в чём дело, думал, что-то в настройках не так. И только посмотрев список открытых портов, вспомнил, что у меня же на 443 порту висит одна специфическая программа, и именно из-за этого я когда-то и не стал объединять VDS с ботами с какими-либо из своих сайтов, хотя такие мысли уже приходили в голову.
Потом обнаружилась ещё одна проблема: Akkoma отказалась запускаться. Сначала оказалось, что нет нужных зависимостей. При попытке их поставить средствами elixir (языка, на котором она написана) — непонятная ошибка. (Elixir вообще информативностью сообщений об ошибках не отличается.) Хорошо, что у меня была перед глазами документация по установке, и там было написано, что для установки нужен git. Пришлось поставить его, после этого akkoma вроде бы запустилась, но вскоре упала вновь, и так повторялось и дальше. Оказалось, дать Postgres-пользователю все права на базу akkoma через GRANT ALL недостаточно, нужно было его ещё и ownerом этой базы сделать. Видимо, в Postgres система прав как-то отличается от того, к чему я привык в MySQL.
Но к тому времени, как я в этом разобрался, я уже принял решение отложить переезд и перенацелил домен idealists.su на старый сервер. Так что два часа downtime оказались совершенно напрасными…
Остаток дня я потратил на то, чтобы решить конфликт из-за 443 порта. Первой реакцией было перевесить ту программу на другой порт на localhost, а nginx заставить работать в режиме reverse proxy. Но оказалось, что это не так-то просто сделать из-за того, что там нужен очень специфический ответ на TLS handshake. А чтобы nginx просто проверил домен во входящем TLS-соединении и передал запрос дальше без какого-либо вмешательства в него, нужно, чтобы в нём был модуль ngx_stream_ssl_preread_module. Только вот по умолчанию в debian его нет, и чтобы был, нужно либо из исходников собирать (что для меня — крайняя мера), либо искать репозиторий с альтернативной сборкой. Либо перевешивать программу на другой порт, с правкой кучи настроек в самых разных местах (причём не только у меня, но и у других людей). В итоге я до глубокой ночи экспериментировал, пытаясь найти обходные пути, но не выдержал и так и сдался. И только сегодня утром пришло в голову совершенно неожиданное решение: использовать в качестве reverse proxy мой основной VDS, где висят остальные сайты. Видимо, ночью или завтра попробую…