Getting started
Installation issues
The RStudio Server is not available through an APT repository, upstream
releases a .deb
package along with the sources. The role will check if the
rstudio-server
package is available through APT; otherwise the .deb
package will be downloaded directly from the project's website and installed
using dpkg. The package integrity is checked via SHA256 checksum. The
package can also be provided via a local APT repository if desired.
Example inventory
To configure a host for RStudio Server, it needs to be in the
[debops_service_rstudio_server]
Ansible group:
# Optional Java support in R environment
# See 'debops.cran' role for mode details
[debops_service_java]
hostname
[debops_service_rstudio_server]
hostname
Example playbook
If you are using this role without DebOps, here's an example Ansible playbook
that uses the debops.rstudio_server
role:
---
- name: Manage RStudio Server service
collections: [ 'debops.debops', 'debops.roles01',
'debops.roles02', 'debops.roles03' ]
hosts: [ 'debops_service_rstudio_server' ]
become: True
environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'
roles:
- role: keyring
tags: [ 'role::keyring', 'skip::keyring',
'role::cran', 'role::nginx', 'role::rstudio_server' ]
keyring__dependent_apt_keys:
- '{{ cran__keyring__dependent_apt_keys | d([]) }}'
- '{{ nginx__keyring__dependent_apt_keys | d([]) }}'
keyring__dependent_gpg_keys:
- '{{ rstudio_server__keyring__dependent_gpg_keys | d([]) }}'
- role: etc_services
tags: [ 'role::etc_services', 'skip::etc_services' ]
etc_services__dependent_list:
- '{{ rstudio_server__etc_services__dependent_list }}'
- role: apt_preferences
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
apt_preferences__dependent_list:
- '{{ nginx__apt_preferences__dependent_list }}'
- '{{ cran__apt_preferences__dependent_list }}'
- role: ferm
tags: [ 'role::ferm', 'skip::ferm' ]
ferm__dependent_rules:
- '{{ nginx__ferm__dependent_rules }}'
- role: python
tags: [ 'role::python', 'skip::python' ]
python__dependent_packages3:
- '{{ nginx__python__dependent_packages3 }}'
python__dependent_packages2:
- '{{ nginx__python__dependent_packages2 }}'
- role: nginx
tags: [ 'role::nginx', 'skip::nginx' ]
nginx__dependent_servers:
- '{{ rstudio_server__nginx__dependent_servers }}'
- role: java
tags: [ 'role::java', 'skip::java' ]
java__install_jdk: True
when: cran__java_integration | bool
- role: cran
tags: [ 'role::cran', 'skip::cran' ]
cran__dependent_packages:
- '{{ rstudio_server__cran__dependent_packages }}'
- role: rstudio_server
tags: [ 'role::rstudio_server', 'skip::rstudio_server' ]