|
||
---|---|---|
defaults | ||
files | ||
Playbooks | ||
tasks | ||
templates/var/www/cstate | ||
.gitignore | ||
LICENSE | ||
README.MD | ||
Vagrantfile |
Cstate - Ansible role
This role covers deployment, configuration and software updates of Cstate. This role is released under MIT Licence and we give no warranty for this piece of software. Currently supported OS - Debian.
You can deploy test instance using Vagrantfile
attached to the role.
vagrant up
ansible-playbook -b Playbooks/cstate.yml
Then you can access cstate from your computer on http://192.168.33.20
Playbook
The playbook includes nginx role and deploys entire stack needed to run Cstate. Additional role is also available in the Ansible roles repos in git.
Guide
First deployment
At first, the role uses the cstate example repo to build a website.
You can modify the look by changing vars in the defaults/main.yml
file and also by adding your own logo in /files
. Then use ansible-playbook -b Playbooks/cstate.yml --tags config --tags generate
to build the pages and check them on http://192.168.33.20 if your using Vagrant.
Upload on your own git repo
Once you're satisfied with the look of your site, remove the files in /content/issues/
and in public/issues/
as they're the default issues pages used as demo.
You may now deploy it on your own git repo: copy the content of /var/www/cstate
on your repo (if using Vagrant, you can also copy the content of the share
synced folder).
Create issues
If you have uploaded the content of /var/www/cstate
on your repo, add your repo address in the cstate_repo
var in defaults/main.yml
file.
You can create issues files inside /var/www/cstate/content/issues/
folder on your host (or in /share/content/issues/
if your using Vagrant with the share
synced folder). Then use ansible-playbook -b Playbooks/cstate.yml --tags generate
to build those pages in the public/
directory. The folder public can now be hosted on the production web server.
Once done, you can create issues files inside the share/content/issues/
folder on your host. Then use ansible-playbook -b Playbooks/cstate.yml --tags generate
to build those page in the public/
directory. You can also have a custom content repository instead. Set cstate_content_init
to true
and cstate_content_repo
to your content repo.
If you update the config file and want to generate new pages, you can run ansible-playbook -b Playbooks/cstate.yml --tags configfile
To update cstate just include --tags update,never
to your playbook.
Issue with vagrant
You may have to add sendfile off;
to your Nginx config when using the role with Vagrant and a synced folder. See info
CHANGELOG
- 06.05.2023 - Add custom content repository
- 06.06.2022 - Create the role