Skip to content

Commit

Permalink
update to peakaboo documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew Wilson committed Jul 28, 2017
1 parent 4f00516 commit 4446a3b
Show file tree
Hide file tree
Showing 5 changed files with 105 additions and 47 deletions.
43 changes: 0 additions & 43 deletions .docker/README.md

This file was deleted.

4 changes: 0 additions & 4 deletions README

This file was deleted.

73 changes: 73 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
Peakaboo
========

## A real time dashboard for the remote monitoring of Opencast compatible capture agents

![Alt text](docs/peakaboo.png?raw=true "Peakaboo-roomlist")

### To run in development
```shell
mkdir config
cp docs/settings.example.json config/settings.json
chmod u+x run
./run
```
The meteor applcation will build then point a web browser at:
```shell
http://localhost:3000
```

### To run in in production
Peakaboo has been dockerized so its super straight forward to get this running in a production environment. There are however alternatives to running meteor apps in production but they aren't covered here.

Its highly recomended you run this as a non-root user. Create a new user, a good name would be `peakaboo`

First generate a valid SSL certificate. You can generate a self signed certificate or you could also use Letsencrypt with certbot https://letsencrypt.org/.

You will also need to create a new `.htpasswd` file to allow clients to POST images back to peakaboo

move into the docker folder and place your SSL key file and certificate into the Nginx
```shell
cd .docker/
cp /path/to/ssl-key.file nginx/my.key
cp /path/to/ssl-cert.file nginx/my.crt
cp /path/to/.htpasswd nginx/.htpasswd
```

Install `docker` and `docker-compose`. Please refer to the latest docker documenation on how to get started on your platform https://docs.docker.com/engine/installation/
https://docs.docker.com/compose/
you can also install the latest `docker-compose` via pip
```shell
pip install docker-compose
```

In production Meteor apps get their settings from enviroment variables, these can be set in the `.bash_profile` or exported on the fly. Export your settings JSON and give set the `SERVER_NAME` to match your DNS hostname of the server.
```shell
export METEOR_SETTINGS=$(cat ~/path/to/settings.json)
export SERVER_NAME=peakaboo.example.com
```

To Build the peakaboo docker container run:

```shell
docker-compose build peakaboo
```
CentOS 6:
To divert docker's logs to syslog so that they are auto rotated and don't fill up the
disk, make sure `/etc/sysconfig/docker` has:

```shell
other_args="--log-driver=syslog"
```

Then run peakaboo!
```
docker-compose up -d
```

When there's a change peakaboo you can update the docker images by stopping the containers and re building the images
```
docker-compose stop
docker-compose build peakaboo
docker-compose up -d
```
Binary file added docs/peakaboo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions docs/settings.example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"auth":{
"username":"galicaster",
"password":"galicaster"
},
"imageDir":"/tmp/peakaboo-image",
"caTimeout":"600",
"cas":{
"active":true,
"emailsuffix":"@example.com",
"baseUrl":"https://example.com/cas/",
"autoClose":true
},
"public":{
"applicationName":"Peakaboo",
"audioServer": false,
"cas":{
"loginUrl":"https://example.com/cas/login",
"serviceParam":"service",
"popupWidth":810,
"popupHeight":610
}
},
"logins":{
"cas":{
"active":false
},
"ldap":{
"active":false
}
}
}

0 comments on commit 4446a3b

Please sign in to comment.