Skip to content

8cylinder/boss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boss

Provision a Vagrant server

Todo

  • bash prompt
  • bash history with dates
  • final info not showing up
  • set user on append_to_file
  • phpinfo write to correct dir
  • remove default public html dir if craft installed
  • downloads to home, not current location
  • phpinfo; if virtualhost use its dir instead
  • phpinfo; user: use root if normal else use www-data

Command line

$ boss -h
usage: boss [-h] {install,uninstall,list,help} ...
Install various aplications and miscellany to set up a server.
Its recomended to set up Apt-Cacher NG on the host machine.  Once
thats done adding `aptproxy` to the list of modules will configure
this server to make use of it.
boss will attempt to install colorama when it's run.  If for some
reason that doesn't work, it can be manually installed by:
`sudo apt install python3-colorama`
positional arguments:
  {install,uninstall,list,help}
    install             Install modules
    uninstall           Uninstall modules
    list                List available modules
    help                Detailed info for each module

optional arguments:
  -h, --help            show this help message and exit

Install

$ boss install -h
usage: boss install [-h] [-d] [-o] [-O] [-n USERNAME,USERPASS] [-S SQLFILE]
                    [-N DB-NAME] [-P PASSWORD] [-A USERNAME,PASSWORD]
                    [-u USERNAME,PASSWORD] [-f] [-c USERNAME,EMAIL,PASSWORD]
                    [-i HOST_IP] [--netdata-user-pass USERNAME,USERPASS]
                    servername modules [modules ...]
positional arguments:
  servername            used for the cert name and apache ServerName, eg:
                        'something.local'
  modules               a list of modules that should be installed
optional arguments:
  -h, --help            show this help message and exit
  -d, --dry-run         Only print the commands that would be used
  -o, --no-required     Don't install the required modules
  -O, --no-dependencies
                        Don't install dependent modules
  -n USERNAME,USERPASS, --new-user-and-pass USERNAME,USERPASS
                        a new unix user's name and password (seperated by a
                        comma), they will be added to the www-data group
  -S SQLFILE, --sql-file SQLFILE
                        sql file to be run during install
  -N DB-NAME, --db-name DB-NAME
                        the name the schema to create
  -P PASSWORD, --db-root-pass PASSWORD
                        password for mysql root user, required for the mysql
                        module
  -A USERNAME,PASSWORD, --new-db-user-and-pass USERNAME,PASSWORD
                        a new db user's new username and password (seperated
                        by a comma)
  -u USERNAME,PASSWORD, --new-system-user-and-pass USERNAME,PASSWORD
                        a new system user's new username and password
                        (seperated by a comma)
  -f, --force-https     only allow https. Note that a self signed cert is
                        installed anyway
  -c USERNAME,EMAIL,PASSWORD, --craft-credentials USERNAME,EMAIL,PASSWORD
                        Craft admin credentials
  -i HOST_IP, --host-ip HOST_IP
                        Host ip to be used in aptproxy config
  --netdata-user-pass USERNAME,USERPASS
                        a new user's name and password (seperated by a comma)

Uninstall

$ boss uninstall -h
usage: boss uninstall [-h] [-d] [-D] [-c CERT_BASENAME] [-u SYSTEM_USER]
                      modules [modules ...]
positional arguments:
  modules               a list of modules that should be uninstalled
optional arguments:
  -h, --help            show this help message and exit
  -d, --dry-run         run apt but use `apt-get --simulate` (non apt shell
                        commands will still execute)
  -D, --very-dry-run    do not run any shell commands
  -c CERT_BASENAME, --cert-basename CERT_BASENAME
                        basename of the cert to be removed, should be the same
                        as servername
  -u SYSTEM_USER, --system-user SYSTEM_USER
                        name of the user to be deleted (note: all files will
                        be deleted as well)

List

$ boss list -h
usage: boss list [-h]
optional arguments:
  -h, --help  show this help message and exit