Как стать автором
Обновить

Комментарии 31

А чем вам MUP не угодил? https://github.com/arunoda/meteor-up
Делает все тоже самое и может разворачивать докер контейнеры
Т.к. в основных репах монго очень старый обычно
А я в своё время действительно попробовал его, но что-то не сложилось. Потом начал соображать, как можно сделать всё руками, хапнул горя, потому что с последними версиями Node.js возникнут проблемы. Скорее всего, если в конфиге MUP указать Node.js линейки 0.10.x, всё действительно заработает. Но зачем мне лишний велосипед с пометкой «no longer maintaining», если всё тоже самое я настраиваю сам и за пять минут.
А на MUPx, который с Докером, можно и попристальнее посмотреть. Спасибо.

Как для него robomongo подключить через туннель — загадка. Например.

Спасибо автору статьи. Отказался от mup и mupx в проектах. Теперь не страшны переезд на новые версии Метеора, настройка GraphicMagick, совместный доступ к MongoDB. И это еще не всё!

Это проверено с meteor 1.3?

Не знаю, в 1.3 ли дело, но, чтобы нормально собрались все модули после обновления, понадобилось поставить build-essential: sudo apt-get install build-essential. Остальное — по инструкции в статье.

Да, без него не ставятся некоторые пакеты npm. Сейчас пробую завести апп на ubuntu 16.04 с последней монгой, посмотрю что получится. Но с пакетам из npm гемор еще тот конечно.

Как успехи с 16.04?

Получилось. Описал процесс тут.
Я заменил forever на forever-service:

forever-service delete myapp && forever-service install -s /home/meteor/bundle/main.js -e 'PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp ROOT_URL=http://myapp.ru' myapp && start myapp

Спасибо, я о существовании forever-service не знал. Звучит как то, что нужно.

Пажаласта, оно живет сверху forever и заменяет upstart.

Есть один косячок. Нельзя просто так взять и передать в параметрах MAIL_URL, когда в пароле символы <=

Решение:

Meteor.startup -> process.env.MAIL_URL = 'smtp://' + encodeURIComponent(smtp.username) + ':' + encodeURIComponent(smtp.password) + '@' + encodeURIComponent(smtp.server) + ':' + smtp.port
И еще махонькое дополнение — про логи!

Как узнать, где живут логи?

# forever logs

Как следить за выводом в лог?

# tail -f /var/log/myapp.log

Про логи интересное тут

А я нашел гораздо более лучший сервис!

А вот теперь хочется вынести параметры в конфиг — проектов-то много. Bash-скрипт ну или обернуть в Docker — за что боролись? :)

Осознал. Docker еще для секьюрности полезен. Вот оно что!

В смысле изолированности каждого отдельного контейнера?

Ну да

А расскажите, как вы его с Докером готовите? Я всё никак не соберусь освоить эту технологию. А ведь революция же.

Ковырялся в MUPX, чтобы подключить GraphicsMagick. Dockerfile — это почти Bash-скрипт. Вот приличная инструкция, как альтернатива MUPX. Склоняюсь к выводу, что надо решать вопросы, которые ставит Docker. А не отказываться от него вовсе.

Спасибо. Возникла задача регулярного бэпапа базы данных (код на сервере потерять не страшно, вся статика в CDN, а вот база данных — слабое звено). Решение в лоб — экспортировать по крону и отправлять куда-нибудь в S3. Может, посоветуете что-то более изящное?

Я прикрутил бэкап в DropBox. А потом еще замутил выгрузку в DropBox загружаемых пользовательских файлов на основе Meteor-Files.


DropBox сам по себе — ненадежное хранилище, можно нагуглить эпикфейлов. Но жирный плюс DropBox в синхронизации: всё, что туда попадает, перекладывается на подписчиков.

MUPX использует два контейнера: отдельно для приложения, отдельно для Монги.

Тупо пушим в git. А сам деплой выполняется на сервере в режиме Continuous Integration — красота!


Пока вот такой список фаворитов:


Jenkins


Drone (Go Lang)


Gitlab CI + GitFlow


Circle CI + Docker (Clojure)


Buildbot (Python)


Travis CI

Обращаю внимание, что Meteor 1.4 переехал на Node 4.

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории