README.md 3.11 KB
Newer Older
Afaq Tariq's avatar
Afaq Tariq committed
1
<br/>
Afaq Tariq's avatar
Afaq Tariq committed
2
<h1 align="center">
Afaq Tariq's avatar
Afaq Tariq committed
3
  linux-dash
Afaq Tariq's avatar
Afaq Tariq committed
4
</h1>
Afaq Tariq's avatar
Afaq Tariq committed
5

6
7
8
<p align="center">
  A simple, low-overhead web dashboard for Linux
</p>
Afaq Tariq's avatar
Afaq Tariq committed
9
10

<p align="center">
Afaq Tariq's avatar
Afaq Tariq committed
11
12
13
  <strong>
    <a href="http://linuxdash.afaqtariq.com"><i>Demo</i></a> &nbsp;|&nbsp;
    <a href="#features"><i>Features</i></a> &nbsp;|&nbsp;
Afaq Tariq's avatar
Afaq Tariq committed
14
    <a href="#installation">
Afaq Tariq's avatar
Afaq Tariq committed
15
16
17
      <i>Installation</i></a> &nbsp;|&nbsp;
    <a href="#support"><i>Support</i></a>
  </strong>
Afaq Tariq's avatar
Afaq Tariq committed
18
19
20
21
22
23
24
25
26
27
28
29
</p>

<p align="center">
  <a href="https://gitter.im/afaqurk/linux-dash">
    <img 
      src="https://badges.gitter.im/gitterHQ/gitter.png" 
      alt="Linux Dash Gitter chat">
  </a>
</p>

<br/>
<p align="center">
Afaq Tariq's avatar
Afaq Tariq committed
30
  <a href="http://linuxdash.afaqtariq.com">
Afaq Tariq's avatar
Afaq Tariq committed
31
32
33
34
35
    <img 
      width="80%"
      alt="Linux Dash screenshot" 
      src="http://i.imgur.com/tehGyrQ.gif">
  </a>
Afaq Tariq's avatar
Afaq Tariq committed
36
</p>
37

Afaq Tariq's avatar
Afaq Tariq committed
38
39
<br/>

40
## Features
Afaq Tariq's avatar
Afaq Tariq committed
41
* A beautiful, simple web-based dashboard for monitoring a linux server
Afaq Tariq's avatar
Afaq Tariq committed
42
* Only ~1MB on disk! *(.git removed)*
Afaq Tariq's avatar
Afaq Tariq committed
43
* Live graphs, refresh-able widgets, and a growing # of supported modules
Afaq Tariq's avatar
Afaq Tariq committed
44
* Drop-in installation for PHP, Node.js, Python, and Go 
45

Afaq Tariq's avatar
Afaq Tariq committed
46
47
## Installation

Afaq Tariq's avatar
Afaq Tariq committed
48
#### Step 1: Download Linux Dash
Afaq Tariq's avatar
Afaq Tariq committed
49
50
51
52
53
54
55
56

Clone the git repo
```sh
git clone https://github.com/afaqurk/linux-dash.git
```

Or download it **[here](https://github.com/afaqurk/linux-dash/archive/master.zip)**.

Afaq Tariq's avatar
Afaq Tariq committed
57
#### Step 2: Secure Linux Dash
Afaq Tariq's avatar
Afaq Tariq committed
58
59
60
61
62

Linux Dash does not provide any security or authentication features.

**It is strongly recommended** that all Linux Dash installations be protected via a security measure of your choice.

Afaq Tariq's avatar
Afaq Tariq committed
63
#### Step 3: Start Linux Dash
Afaq Tariq's avatar
Afaq Tariq committed
64
65
66
67
<h6 align="center">
Linux Dash can be run in: <u>Node.js</u>, PHP, Go, or Python. 
<br/>
<sub>
Afaq Tariq's avatar
Afaq Tariq committed
68
* Node.js is the recommended platform since it has native support for websockets and fast I/O.
Afaq Tariq's avatar
Afaq Tariq committed
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
</sub>
</h6>

First, navigate to the `linux-dash` folder you downloaded or cloned.

Then, refer to the section for your preferred platform:

##### Node.js

Install NPM dependencies
```
npm install
```

Start Linux Dash 
```
node server/
```

Default port for Linux Dash is 80. You may change this in [server/index.js on line 9](https://github.com/afaqurk/linux-dash/blob/master/server/index.js#L9)

<br/>
##### PHP
1. Make sure you have the `exec`, `shell_exec`, and `escapeshellarg` functions enabled
2. Restart your web server (Apache, nginx, etc.) 
  - For PHP + Apache setup follow the [Digital Ocean tutorial](https://www.digitalocean.com/community/tutorials/how-to-install-linux-dash-on-ubuntu-14-04).
  - For help with nginx setup, see [this gist](https://gist.github.com/sergeifilippov/8909839) by [@sergeifilippov](https://github.com/sergeifilippov).

<br/>
##### Go
Go to the `linux-dash/server` folder and run 
```
go run index.go
```

To build a binary, run `go build && ./server -h`. See [@tehbilly](https://github.com/sergeifilippov)'s notes [here](https://github.com/afaqurk/linux-dash/pull/281) for binary usage options

##### Python
Run `./python-server.py` will run a server on port 80.

109
## Support
Afaq Tariq's avatar
Afaq Tariq committed
110

Afaq Tariq's avatar
Afaq Tariq committed
111
112
113
114
115
116
117
118
119
For help with general setup and configuration issues please use the [Linux Dash Gitter chat room](https://gitter.im/afaqurk/linux-dash).

The following distributions are supported:
* Arch
* Debian 6,7
* Ubuntu 11.04+
* Linux Mint 16+
* CentOS 5, 6
* openSUSE