# Dropshell A system management tool for server operations, written in C++. ## Installation ``` curl -fsSL https://gitea.jde.nz/public/dropshell/releases/download/latest/install.sh | bash ``` This installs as dropshell for the local user, with a symbolic link ds. You'll need to run: ``` ~/.local/bin/dropshell edit ~/.local/bin/dropshell install source ~/.bashrc ``` to configure dropshell and install the local components. ## Remote Server Setup ### Initial setup Auto setup script which creates a dropshell user, and includes installing docker if not already present: ``` curl -fsSL https://gitea.jde.nz/public/dropshell/releases/download/latest/server_autosetup.sh | sudo bash ``` Manual steps: 1. `apt install curl wget jq` 1. `curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && rm get-docker.sh` 1. `useradd -m dropshell && usermod -aG docker dropshell && chsh -s /bin/bash dropshell` 1. Put appropriate ssh keys in `/home/dropshell/.ssh/authorized_keys` 1. Test ssh'ing into the server. ### Configure and Use Remote Server #### Add to local dropshell configuration, and install remote agent Back on the dropshell host: 1. `dropshell create-server SERVERNAME` 1. `dropshell edit SERVERNAME` 1. `dropshell install SERVERNAME` #### Install Services Create and install a service 1. `ds template list` -- see what templates are available to install. 1. `ds create-service SERVERNAME SERVICENAME TEMPLATE` 1. `ds edit SERVERNAME SERVICENAME` 1. Edit other config files if needed. 1. `ds install SERVERNAME SERVICENAME` 1. `ds list` The service should now be seen to be running.