m12.io: full Neos CMS website
This is our complete m12.io website and it's an example how you can build a simple website on top of Neos CMS. The website is very simpleand contains just a few pages and a blog system. Though, while working on it, we tried to discover and incorporate the best practises for working with Neos CMS. From HTML templates, Sass styling, modern package managers and build tools (bower, gulp, npm) through showing how you can wrap it all and launch using Docker containers.
Using Docker (recommended)
Even if you don't have any experience with Docker, you can launch it quickly in just one step.
Prepare Docker host (if you don't have any)
If you don't have any host for running Docker containers, you have two options:
- Option 1: install boot2docker. There's instruction how to do that for WIN or MAC.
- Option 2: preferred way if you use Vagrant.
We have provided
Vagrantfilewhich launches minimalistic CoreOS host (a nice alternative to boot2docker). Simply run
vagrant upand it's done.
We use fig tool to orchestrate necessary containers and link them together. Install it on your Docker host and/or on your machine (if you're on Mac).
If you have fig already installed, there's a
fig.yml config already provided, so you
can simply run:
The configuration can be customised via env variables, e.g. you can provide your own host names which will be configured in Nginx, admin user details for Neos etc.
m12.io dev.m12.io test.m12.io to your docker host IP (or whatever hostnames
you have provided in NEOS_APP_VHOST_NAMES variable while launching the containers)
and you should be able to access it under http://dev.m12.io:8080/.
By default, there's also SSH container launched in case you'd like to proceed with development. To simplify the process of managing SSH keys, they are imported via GitHub API. Provide your GitHub username (you need to have your public key there added to your GitHub account) and the key will be automatically imported when the container starts. You should be able to SSH to it using:
ssh -p 5678 www@your-docker-host
Manual setup (not-recommended ;)
Just clone it and run it on your web server. You'll need:
- web server with Nginx/PHP-FPM/MySQL
- configured vhost for this project
- update Configuration/Settings.yaml with database details.
Now go to your vhost address and Neos CMS should guide you through installation
process, i.e. setting up admin user, importing
M12.Site site package.
You'll need to have the following items installed before continuing:
How to build
All build steps are in
./build.sh script. Simply run it when necessary.
During development, use
gulp build or
gulp watch **from Build/ directory.
Import the content:
./flow site:prune --confirmation TRUE ./flow site:import --package-key M12.Site ./flow flow:cache:flush --force && ./flow cache:warmup
Export the content:
./flow site:export --package-key M12.Site --tidy
- Marcin ryzy Ryzycki email@example.com