An open hardware monitoring platform, for the rest of us.
Install the framework:
cp .env.example .env nano .env
You'll most likely want to change
COMPONENT_NETTRAFFIC_INTERFACES, and if you don't have a UPS, uncomment
Run the installer:
php artisan ship:install
Install the schedule cron job:
echo '* * * * * www-data php /path/to/artisan schedule:run 2>&1 > /dev/null' > /etc/cron.d/ship3 service cron restart
Create a virtual host
<VirtualHost *:80> ServerName ship.example.com DocumentRoot /var/www/ship3 # don't allow outside traffic <Location "/"> <RequireAll> Require ip 10.0.0.0/16 </RequireAll> </Location> </VirtualHost> service apache2 reload
All components can be enabled or disabled by specifying
Name to display in the header and window title. By default, it is the machine's hostname.
trueto use the dark theme by default.
Default graph/data difference period to use. Must be in a format that DateInterval can recognize.
Specify whether or not Ship should reload automatically (once per minute).
The language you'd like to use. Ship currently supports English (
en) and French (
Lumen framwork settings
Most settings supported by the Lumen framework can be overridden as well. (Not all of them are relevant to Ship, however.) Refer to each module's documentation for details on connecting to a different database, using a different language
falseto disable the component.
Set where the component should appear on the page. (0 is the top-left corner; components fill across.)
How long (in minutes) to cache the package list for. (Regenerating the list every time can be slow.)
Whether or not to include the package list. This has security implications if enabled, as anyone who has access to Ship will be able to see what versions of upgradeable packages are installed.
A comma-separated list of disks (as their device names, as they appear in
dfcommand) to monitor and graph.
The block size of the disks that are being monitored. This may be one number to apply to all disks, or a comma-separated list (of the same length as the disk list) to apply certain block sizes to individual disks.
The format in which the uptime will be displayed, as a tokenized string:
Total hours + days
Total minutes label
Total hours label
Total days label
Format string Output
How long, in minutes, to cache external IP addresses for, to not spam Rackspace's IP-checking server. (Ship uses icanhazip.com to detect external IP addresses.)
Set to false to bypass checking for an external IPv4/IPv6 address.
A comma-separated list of interfaces (as they appear in the
ip linkcommands) for which to monitor and graph traffic.
The number of processes to show in each category.
Path to the
pscommand, if it isn't already in
Argument set to use for
ps, since its implementation tends to vary across platforms. "
linux" will use the Linux arguments, and "
freebsd" will use the FreeBSD arguments. Ship will try to autodetect the operating system, so you probably shouldn't have to set this unless it is not working.
Path to the
apcaccesscommand, if it isn't already in
If the UPS device isn't connected to the current machine, you may specify a hostname or IP address to get UPS information from instead.
The MIT License (MIT)
Copyright (c) 2016 Alex Lindeman
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.