This page features an un-sorted list of examples, showcasing the sort of things you can do with freckles. I'll clean up and organize this at some point. Promise!
Setup a web-server to serve a static website.
Setup the Apache web-server with a vhost configuration that contains contains configuration to serve a folder of html files.
All content will be served via https, a redirect will be set up so that all http traffic will be forwarded to https. A Let's encrypt certificate will be requested, and a cron job will be set up to re-new that certificate before it expires.
As a second step, a single html file will be generated, with some custom content.
- webserver-static-site: hostname: example.com webserver: apache use_https: true server_admin: firstname.lastname@example.org - file-with-content: owner: www-data path: /var/www/html/index.html content: | <h1><i>freckles</i> says "hello", World!</h1>
Create a Python virtual environment using pyenv
Without freckles installed already on the local/control machine, bootstrap it and, on a remote target box, create a new user, then, for that user: install Pyenv if necessary, then install a specific version on Python with it. Create a virtualenv with this version of Python, and install a few packages into that virtualenv.
curl https://freckles.sh | bash -s -- frecklecute \ -t email@example.com \ python-virtualenv \ --user my-python-user \ --python-version 3.6.8 \ --python-build-opts "--enable-shared" \ --venv-name freckles \ -p cookiecutter
Setup a Wordpress instance on a remote host
On a remote machine, setup the Apache web-server, MariaDB, PHP. Download Wordpress and configure everything so Apache serves the Wordpress instance via https (http redirects to https), using a Let's encrypt staging certificate. Asks for Wordpress admin & database passwords interactively.
frecklecute -t firstname.lastname@example.org wordpress-standalone \ --wp-admin-email email@example.com \ --wp-title my-wordpress \ --host dev.frkl.io \ --use-https \ --letsencrypt-staging