ApostropheCMS — это CMS для сайтов с открытым исходным кодом, напсианный на JavaScript. Apostrophe Assembly — это мощная и гибкая платформа для создания веб-сайтов для цифровых агентств, компаний SaaS, высших учебных заведений, предприятий и т. д.
Не буду долго томить, описывая лирику. В общем говоря, задачей является деплой данной Apostrophe CMS на свой VPS или локальный компьютер, имея в системе Docker.
Для быстрого старта можно скачать мою заготовку с GitHub, если хочется собрать ручкамис нуля, то нужно сделать следующие шаги:
- Склонировать себе официальный код с репозитория проекта
- Добавить
Dockerfile
с содержимым в корень
FROM node:14
ENV APOS_MINIFY=1
ENV NODE_ENV=production
WORKDIR /app
COPY package* ./
RUN npm ci
RUN mkdir scripts
# Use "m" to temporarily install mongod in a lightweight way so
# the asset build task does not encounter problems initializing modules
# that expect a database. We do not actually need this database in the
# container, so uninstall it at the end
RUN npm install -g m
RUN apt-get -y update
RUN apt-get -y install scons
RUN m 3.6
RUN m tools stable
COPY . ./
RUN m rm 3.6
EXPOSE 3000
CMD ["npm", "run", "start"]
3. Добавить docker-compose.yml
version: "3.3"
services:
admin:
container_name: apostrophe
restart: always
build: ./
ports:
- "3000:3000"
volumes:
- ./data/uploads:/app/public/uploads
- ./data/backups:/app/backups
environment:
- APOS_MONGODB_URI=mongodb://mongo:27017/db
depends_on:
- mongo
mongo:
container_name: mongo
image: mongo:4.4
restart: always
volumes:
- ./data/mongo/db:/data/db
ports:
- 27017:27017
volumes:
apostrophe:
mongo:
driver: local
4. Запустить команду docker-compose up -d