Сообщество Идеалистов Интернета запущено!

В субботу запустил своё сообщество идеалистов! Первый пуск с 2018 года, если считать только новые домены (ещё был перезапуск xxxxpro.ru в прошлом году).
Долго не мог определится с названием домена. Изначально, ещё в 2021 году, я хотел взять адрес idealisty.net. Но регистрировать домен в зоне .net дороже и сложнее, поэтому в последний момент пришла в голову другая идея — взять домен idealists.ru.net и переименовать сообщество в «Идеалисты Рунета». Решил обсудить эту идею с 10geekом и участниками чата. 10geek предложил идею idealists.su, потом эту идею поддержала goblincat. И в итоге я решил, что правильное написание и «самый коммунистический домен» для такого сайта — вполне хорошее сочетание!
Запуск шёл вполне нормально. Я создал свой аккаунт, выложил те сообщения, которые подготовил за последние дни, создал двух ботов: Idealists — для общих новостей сообщества и Catalog — для каталога бесплатностей. Его я тоже решил делать не отдельным сайтом, а внутри сообщества. Правда, для этого придётся пожертвовать социальными функциями и автоматической проверкой ссылок…
И вот пуск состоялся! Остался только последний крошечный шаг — перенести свой профиль с lor.sh. Но вот тут-то и полезли проблемы.
Началось всё с того, что я не мог прописать alias в свой профиль для переноса. Стал искать причины, разбираться, что сервер отдаёт при просмотре моего пользователя. И оказалось, что зря я сначала делал сайт на временном домене третьего уровня (idealists.4xpro.ru)! Теперь этот домен оказался «прошит» в идентификаторе пользователя.
Пришлось менять его прямыми запросами к базе данных. Но дальше — хуже. После того, как это сделал, пропали все опубликованные сообщения. Стал разбираться, и оказалось, что идентификаторы там тоже привязаны к домену. Более того, в базе в одних местах идентификаторы они хранятся как строки, в других — лежат в массивах или JSON.
Пришлось на ходу изучать структуру базы данных Akkoma и разбираться в работе с JSON и массивами в Postgres. С JSON сначала напутал, и в итоге сначала получилось, что в базе настоящего JSON стала храниться строка, содержащая экранированные данные. Пришлось разбираться, как преобразовать это дело обратно.
После где-то полутора часов вроде всё сделал правильно, но сообщения так и не появились. Долго ломал голову, пытаясь понять, что же не так. По несколько раз перепроверил каждую таблицу в базе, написал несколько новых сообщений, чтобы посмотреть, в чём будут различия. Но без толку!
И только спустя два часа совершенно случайно заметил, что случайно в один из столбцов с обычным текстом в конец адреса пользователя добавил кавычки! Видимо, ошибся после того, когда спасал JSON в других столбцах. Когда исправил, сообщения появились. А ещё починилось редактирование сообщений. Но это уже была глубокая-глубокая ночь.
После этого осталось только закончить перенос аккаунта (там тоже пришлось в базу залезть вручную) и смотреть, как начала наполняться federated-лента…
Так что всё, теперь у меня есть не только сайт с поддержкой IndieWeb, собственный узел i2p и yggdrasil, но и собственный instance Fediverse! А ещё сервер синхронизации данных, и даже в какой-то момент поднимал собственное облако на NextCloud, но потом отказался. В общем, как сейчас принято говорить, полная цифровая автономность! Разве что ещё свой сервер Matrix поднять осталось, впрочем, я Matrixом всё равно не пользуюсь.