Local development with CEO
First, you'll need a few things:
- Docker
- Access to our private CEO Docker image
Docker is a free download, you will need to contact support for the CEO Docker image.
Using our helper tool, XO, you can easily boot and interact with your CEO Docker image.
XO Requires Python 3
- First, install XO by opening terminal and navigating to your template repository. Then paste in the following command and hit return:
curl -s https://s3.amazonaws.com/static.getsnworks.com/local-dev/setup.sh | /bin/bash
- Your site's settings will be in the
xo.yaml
file that's created by the setup command. By default it will create your development site athttp://localhost:8080
, but if you want it at a different port, you can change it here. - To verify that
xo
wasn't altered in transit, you can verify its hash by typing:
md5 xo
The hash should match:
495fcb035cd95b22a5684aa959cd8418
- After that, to create the Docker image enter:
./xo build
- And to start it:
./xo up
- If you don't have a database dump handy, grab your developer export, drop it into your site's root folder and run:
./xo fresh-start
- You can use
freeze
andthaw
to stop and start your image while keeping your existing data safe:./xo freeze
will dump your database and shutdown your image./xo thaw
will start it back up and import your last database
To stop Docker when you're done, type:
./xo down
If, when running xo
you see an error similar to:
ImportError: No module named parse
That means you're running Python2. Usually this can be corrected by running xo
with python3 xo
instead of ./xo
.
With Docker running you can run CEO commands for tasks like adding content to the database, simulating the production environment and other interactions with the headless CEO application.
Running CEO commands is as easy as:
./xo run COMMAND