Докеризируем приложение

Решил вот попрактиковаться и обернул в контейнер сервер любимой игрушки.

Предыстория

Когда-то давным-давно я работал волонтером в Интернет трейнинг центре, который финансировался фондом Сороса. Суть в том, что школьникам предлагалось бесплатно учиться мастерить сайты, ну и соответственно делать их для клиентов того самого Интернет трейнинг центра.

Такой вот бартер, мы тебе знания и практику, а ты на нас пашешь бесплатно.

Но суть не в этом, суть в том, что во времена диал-апа, там был хороший 128 килобитный интернет.

И, однажды, я искал информацию для доклада по русским былинам и наткнулся на сайт mud.ru, сейчас bylins.su.

Это оказался сайт игры, мира русских сказок и легенд. И говоря мир, я не преувеличиваю. Игра действительно огромна, количество локаций поражает воображение. Кроме того, игра полностью текстовая, что позволяет каждому иметь свою собственную графику, построенную воображением.

Что же дальше?

А дальше были почти 19 лет игры. Встречи в разных городах. Постараюсь вспомнить:

  • Петропавловск – пять или шесть раз
  • Омск – 1 раз
  • Новосибирск – 2 раза
  • Челябинск – 1 раз
  • Санкт-Петербург – 1 раз
  • Алма-ата – раз 10

Везде встречи происходили в дружеской атмосфере. Игра также затягивала, как наркотик. Основной плюшкой было использование воображения. Также каждый мог поучаствовать в развитии игры. Код игры открыт, также есть полное описание скриптового языка DG_Script для создания триггеров при написании локаций. Билдеры для создания локаций также представлены на сайте.

Я сам написал несколько зон, из которых две были одобрены и подключены.

Что-то пошло не так

Как известно, все хорошее когда-нибудь кончается. В конечном итоге я поругался с главным администратором игры и он забанил меня и примерно половину основного состава моего клана.

Поэтому было решено построить свой луна-парк с блекджеком и шлюхами. Сказано – сделано.

Мы решили обратиться к автору другого мада, основанного на этом же движке, с предложением развернуть форк у себя на сервере.

Дальше было около двух месяцев разбора кода и отладки отдельных моментов, но в конечном итоге игра была запущена.

Теперь, когда у меня есть время, я тусуюсь на новом сервере со своим кланом. Жаль, что вот только времени совсем нет.

Ближе к делу

Как-то раз, не знаю почему, мне захотелось запилить контейнер с сервером мада. По итогам двух-трех дней разбора зависимостей это удалось.

К слову, стало понятно, почему разрабы не очень любят RH-based дистрибутивы. Оказывается в их репозиториях есть только древние версии многих пакетов. Но я уже начал собирать контейнер на образе amazon-linux, так что решил, что это будет дополнительный челлендж.

Итак, чтобы запустить сервер необходимо просто запустить контейнер.

docker run -d -p 4000:4000 nickpoida/bylins

Если необходимо перестроить контейнер – Dockerfile лежит здесь.

https://github.com/nickpoida/bylins_docker

В общем, как говорят в том же маде – доне 🙂

Leave a Reply