Skip to content

Repository files navigation

Simplo Scripts

Provisioning and management scripts for Simplo.site — a managed Backdrop CMS hosting platform.

Server Setup

  • Server: Ubuntu 24.04 LTS on Linode
  • Stack: Nginx, PHP 8.3-FPM, MariaDB 10.11, Certbot, Bee CLI
  • Sites directory: /var/www/simplo/sites/
  • Platform site: /var/www/simplo/platform/ (www.simplo.site)
  • Scripts location: /usr/local/bin/simplo-scripts/
  • Site credentials: /opt/sites/<sitename>.simplo
  • Provision log: /var/log/simplo/provision.log

Scripts

Site provisioning (automated flow)

These scripts work together to automatically provision sites requested through www.simplo.site:

  1. newsite-cron.sh — Run by cron every 5 minutes. Pipes get-requests into process-requests.
  2. get-requests.sh — Queries the simplo database for site requests with status "Requested".
  3. process-requests.sh — Parses the request and calls create-site.sh.
  4. provision-site.sh — Marks the request as "Provisioned" in the simplo database.

Site management

  • create-site.sh — Creates a new site. Can be called automatically (by process-requests.sh) or manually:
    create-site.sh --manual <sitename> [template]
  • delsite.sh — Removes a site (directory, database, Nginx config):
    delsite.sh <sitename>

Templates

  • rebuild-template.sh — Snapshots a live site as a reusable template (DB + files + config):
    rebuild-template.sh <template-name> <source-sitename>

Nginx

  • nginx-site-template.conf — Template for new site Nginx configs. Installed to /etc/nginx/sites-available/DEMO-TEMPLATE on the server.

Deployment

Scripts are cloned to /usr/local/bin/simplo-scripts/ on the server with symlinks in /usr/local/bin/ for easy access.

cd /usr/local/bin/simplo-scripts
git pull

Dependencies

  • /home/triplo/.secrets — Contains MYSQL_ROOT_PASSWORD and SIMPLO_DB_PASSWORD

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages