2017-09-27 22:22:03 +05:30
|
|
|
|
FROM registry.ely.by/elyby/accounts-php:1.5.1
|
2016-11-24 02:13:09 +05:30
|
|
|
|
|
2017-09-21 18:53:05 +05:30
|
|
|
|
# bootstrap скрипт для проекта
|
|
|
|
|
COPY docker/php/bootstrap.sh /bootstrap.sh
|
2016-11-24 02:13:09 +05:30
|
|
|
|
# Вносим конфигурации для крона и воркеров
|
|
|
|
|
COPY docker/cron/* /etc/cron.d/
|
|
|
|
|
COPY docker/supervisor/* /etc/supervisor/conf.d/
|
2016-05-02 13:31:38 +05:30
|
|
|
|
|
2016-08-09 12:23:05 +05:30
|
|
|
|
COPY id_rsa /root/.ssh/id_rsa
|
2016-10-02 03:50:40 +05:30
|
|
|
|
|
|
|
|
|
# Включаем поддержку ssh
|
2016-08-09 12:23:05 +05:30
|
|
|
|
RUN chmod 400 ~/.ssh/id_rsa \
|
|
|
|
|
&& eval $(ssh-agent -s) \
|
2016-10-02 03:50:40 +05:30
|
|
|
|
&& ssh-add /root/.ssh/id_rsa \
|
|
|
|
|
&& touch /root/.ssh/known_hosts \
|
2017-09-21 18:53:05 +05:30
|
|
|
|
&& ssh-keyscan github.com gitlab.ely.by >> /root/.ssh/known_hosts
|
2016-05-10 04:19:50 +05:30
|
|
|
|
|
2016-08-09 12:23:05 +05:30
|
|
|
|
# Копируем composer.json в родительскую директорию, которая не будет синкаться с хостом через
|
2016-10-02 03:50:40 +05:30
|
|
|
|
# volume на dev окружении. В entrypoint эта папка будет скопирована обратно.
|
|
|
|
|
COPY ./composer.json /var/www/composer.json
|
|
|
|
|
|
|
|
|
|
# Устанавливаем зависимости PHP
|
|
|
|
|
RUN cd .. \
|
2017-11-21 18:13:48 +05:30
|
|
|
|
&& composer install --no-interaction --no-suggest --no-dev --optimize-autoloader \
|
2016-10-02 03:50:40 +05:30
|
|
|
|
&& cd -
|
|
|
|
|
|
|
|
|
|
# Устанавливаем зависимости для Node.js
|
|
|
|
|
# Делаем это отдельно, чтобы можно было воспользоваться кэшем, если от предыдущего билда
|
|
|
|
|
# ничего не менялось в зависимостях
|
|
|
|
|
RUN mkdir -p /var/www/frontend
|
2016-05-30 02:08:19 +05:30
|
|
|
|
|
2016-10-02 03:50:40 +05:30
|
|
|
|
COPY ./frontend/package.json /var/www/frontend/
|
|
|
|
|
COPY ./frontend/scripts /var/www/frontend/scripts
|
|
|
|
|
COPY ./frontend/webpack-utils /var/www/frontend/webpack-utils
|
|
|
|
|
|
|
|
|
|
RUN cd ../frontend \
|
2017-10-17 23:30:35 +05:30
|
|
|
|
&& npm run build:install \
|
2016-10-02 03:50:40 +05:30
|
|
|
|
&& cd -
|
|
|
|
|
|
2016-08-09 12:23:05 +05:30
|
|
|
|
# Удаляем ключи из production контейнера на всякий случай
|
2016-10-28 14:18:02 +05:30
|
|
|
|
RUN rm -rf /root/.ssh
|
2016-08-09 12:23:05 +05:30
|
|
|
|
|
2016-10-02 03:50:40 +05:30
|
|
|
|
# Наконец переносим все сорцы внутрь контейнера
|
2016-05-02 13:31:38 +05:30
|
|
|
|
COPY . /var/www/html
|
|
|
|
|
|
2016-05-30 02:08:19 +05:30
|
|
|
|
RUN mkdir -p api/runtime api/web/assets console/runtime \
|
2016-10-02 03:50:40 +05:30
|
|
|
|
&& chown www-data:www-data api/runtime api/web/assets console/runtime \
|
|
|
|
|
# Билдим фронт
|
|
|
|
|
&& cd frontend \
|
|
|
|
|
&& ln -s /var/www/frontend/node_modules $PWD/node_modules \
|
2017-08-01 22:57:35 +05:30
|
|
|
|
&& npm run build:quiet \
|
2016-10-02 03:50:40 +05:30
|
|
|
|
&& rm node_modules \
|
|
|
|
|
# Копируем билд наружу, чтобы его не затёрло volume в dev режиме
|
|
|
|
|
&& cp -r ./dist /var/www/dist \
|
|
|
|
|
&& cd -
|