webscaff

Remote scaffolding and orchestration for web applications


Keywords
automation, certbot, debian, django, fabric, postgresql, scaffolding, systemd, uwsgi
License
BSD-1-Clause
Install
pip install webscaff==1.0.0

Documentation

webscaff

https://github.com/idlesign/webscaff

release lic coverage

Description

Remote scaffolding and orchestration for web applications

Used stack

  • Debian-based OS (Ubuntu 18.04, 20.04, 22.04 tested) as a basis.
  • Git for source code updates.
  • Systemd to securely run your webservice.
  • PostgreSQL as a reliable DBMS.
  • uWSGI as a platform (handling routing, static, background tasks, etc.).
  • Python 3 to cover your needs.
  • Django as a rich and solid webframework.

And also:

  • Certbot integration for free HTTPS certificates (webroot plugin).
  • SSH Agent forwarding for project code updates on remote using keys from your system.

A taste of it

After install the webscaff command is available.

; We rollout project skeleton using `makeapp`.
$ makeapp new myproject -d "My webscaff project" -t webscaff /home/some/here

; Switch into project directory containing `wscaff.yml` which is used by webscaff.
$ cd /home/some/here

; Get basic information about the remote.
$ webscaff info

; Prepare the remote for you web application.
$ webscaff run.initialize

Webscaff offers a number of useful command, among them:

; Rollout a new version of yor project from repository.
$ webscaff rollout

; Make a backup and download to local directory.
$ webscaff run.backup

More commands are available.

Detailed instructions could be found in the documentation.

Documentation

http://webscaff.readthedocs.org/