Skip to content
Snippets Groups Projects
deploy.md 2.7 KiB
Newer Older
# Deployment

## Remotely

### All services

```sh
make deploy i=inventories/my-customer
```

### MediaWorker

```sh
make deploy i=inventories/my-customer l=mediaworker
make deploy i=inventories/my-customer l=msmonitor
```

### MirisManager

```sh
make deploy i=inventories/my-customer l=mirismanager
```

### MediaServer

```sh
make deploy i=inventories/my-customer l=mediaserver
```

### MediaImport

```sh
make deploy i=inventories/my-customer l=mediaimport
```

### MediaVault

```sh
make deploy i=inventories/my-customer l=mediavault
```

### Celerity

```sh
make deploy i=inventories/my-customer l=celerity
```

### Wowza

```sh
make deploy i=inventories/my-customer l=wowza
```

### Postgres

```sh
make deploy i=inventories/my-customer l=postgres
```

### Netcapture

```sh
make deploy i=inventories/my-customer l=netcapture
```

## Locally

Instead of deploying all host remotely through SSH, you can also clone the envsetup repository on the server as `root` in `~/envsetup`, then enter in the directory, configure the activation or system key and run one of those commands:

```sh
make deploy i=inventories/local-mediaserver
make deploy i=inventories/local-mediaworker
make deploy i=inventories/local-mediavault
## Offline

### Requirements

- A local repository with at least all the Debian packages required by the installation, and the UbiCast packages provided in the tar archive
- A `/etc/apt/sources.list` configured to use the local repository
- A copy of the envsetup repository at `/root/envsetup`
- A copy of the configuration file generated by UbiCast located at `/root/envsetup/auto-generated-conf.sh`

### MediaWorker

```sh
cd ~/envsetup/
cp -v inventories/offline-mediaworker/host_vars/localhost{.dist,}.yml
./playbooks/mediaserver.yml -i inventories/offline-mediaworker/
```

### MediaServer

```sh
cd ~/envsetup/
cp -v inventories/offline-mediaserver/host_vars/localhost{.dist,}.yml
./playbooks/mediaserver.yml -i inventories/offline-mediaserver/
```

## Known issues

- Proxy

If output trafic on the remote hosts is allowed only through a proxy, the deployment will fail.
It won't be able to locally clone repository and get host configuration file from mirismanager.ubicast.eu.

For "remote" deployment you have to set the proxy settings in the inventory variables, in `inventories/my-customer/group_vars/all.yml`:

```yaml
---

[...]

proxy_http: http://proxy.my-customer.net:3128
proxy_https: http://proxy.my-customer.net:3128
```

For "local" deployment you have to manually set the proxy settings in the `/etc/environment` file:

```
PROXY_HTTP="http://proxy.my-customer.net:3128"
PROXY_HTTPS="http://proxy.my-customer.net:3128"
NO_PROXY="localhost,127.0.0.1,::1,mymediaserver.my-customer.net"
```