Деплой October CMS с Docker

582
2
582

October — это бесплатная самостоятельная платформа CMS с открытым исходным кодом, основанная на PHP-фреймворке Laravel. Эта статья научит вас, как развернуть October CMS с помощью docker, но если вы хотите получить дополнительную информацию об использовании October CMS, то я бы рекомендовал перейти на страницу туториалов.

Разверните сервер Ubuntu 18.04 с объемом оперативной памяти не менее 1 ГБ. Добавьте немного подкачки, если вы находитесь на чем-то вроде DigitalOcean, который использует локальные твердотельные накопители.

Шаги

Разверните сервер Ubuntu 18.04 с объемом оперативной памяти не менее 1 ГБ.

Установите docker и docker-compose.

Скачайте October CMS последней версии:

wget https://github.com/octobercms/october/archive/v1.1.0.tar.gz
tar --extract --gzip --file v1.1.0.tar.gz
rm v1.1.0.tar.gz
mv -i october-1.1.0 octobercms

Создайте файл docker-compose.yml на вашем сервере в папке с проектом (отредактируйте DB_PASSWORD и MYSQL_PASSWORD на что-то другое).

version: '2.2'
services:
  web:
    container_name: web
    restart: always
    image: aspendigital/octobercms:latest
    ports:
      - 80:80
    environment:
      - DB_TYPE=mysql
      - DB_HOST=db #DB_HOST should match the service name of the database container
      - DB_DATABASE=octobercms
      - DB_USERNAME=octobercms
      - DB_PASSWORD=octobercms
    volumes:
      - $HOME/octobercms/plugins:/var/www/html/plugins
      - $HOME/octobercms/storage/app:/var/www/html/storage/app
      - $HOME/octobercms/storage/logs:/var/www/html/storage/logs
      - $HOME/octobercms/themes:/var/www/html/themes

  db:
    image: mariadb
    container_name: db
    restart: always
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: 1
      MYSQL_DATABASE: octobercms
      MYSQL_USER: octobercms
      MYSQL_PASSWORD: octobercms
    volumes:
       - $HOME/volumes/mysql/data:/var/lib/mysql

Старт сервисов по порядку

Для начала поднимаем базу данных, чтобы убедиться, что она готова, поэтому запустите ее самостоятельно:

docker-compose up db

Когда она запустится то консоль выведет:

[Note] mysqld: ready for connections.

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

docker-compose up web

Настраиваем права

Веб-пользователь должен иметь возможность редактировать содержимое папок plugins, storage и themes, поэтому выполните следующие команды:

docker-compose exec web chown -R www-data /var/www/html/plugins
docker-compose exec web chown -R www-data /var/www/html/storage/app
docker-compose exec web chown -R www-data /var/www/html/storage/logs
docker-compose exec web chown -R www-data /var/www/html/themes

Запускаем миграции

Теперь выполните следующую команду для запуска миграции базы данных (создайте структуры таблиц и т. д.).

docker-compose exec web php artisan october:up

Заходим в админку

Переходим по ссылке /backend к URL-адресу. Затем войдите в систему с вашем именем пользователя и паролем.

Перевод статьи: https://blog.programster.org/deploy-october-cms-with-docker

+2