apiVersion: template.openshift.io/v1 kind: Template labels: template: rstudio-server-template message: |- The RStudio Server has been scheduled for creation in your project. Building images takes some minutes to complete, so please be patient. You can follow progress on your projects overview page. metadata: name: rstudio-server-template annotations: description: > RStudio Server using a container image from the Rocker project (https://rocker-project.org). To determine the user name to enter when logging into the RStudio Server web interface: After launching, select the application in the Topology view, click "Actions > Edit Pod". Copy the spec.securityContext.runAsUser value. iconClass: icon-redhat openshift.io/display-name: RStudio server openshift.io/documentation-url: https://nerc-project.github.io/nerc-docs/other-tools/R/rstudio-server/running-rstudio-on-NERC/#running-rstudio-server-on-nerc-openshift openshift.io/long-description: R shiny server openshift.io/support-url: https://nerc.mghpcc.org/contact-us/ tags: quickstart,r,rstudio,r-studio objects: - apiVersion: v1 kind: ConfigMap metadata: name: rstudio-server-config labels: app: rstudio-server data: database.conf: | provider=sqlite directory=/tmp logging.conf: | [*] log-level=info logger-type=stderr - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: home labels: app: rstudio-server spec: accessModes: - ReadWriteOnce resources: requests: storage: 8Gi - apiVersion: v1 kind: Pod metadata: name: rstudio-server labels: app: rstudio-server spec: volumes: - name: home emptyDir: claimName: {} - name: database-conf configMap: name: rstudio-server-config - name: logging-conf configMap: name: rstudio-server-config containers: - name: rstudio-server image: rocker/rstudio:4.2.2 resources: requests: memory: "640Mi" cpu: "500m" limits: memory: "1000Mi" cpu: "1024m" volumeMounts: - name: home mountPath: /home/rstudio - name: logging-conf mountPath: /etc/rstudio/logging.conf subPath: logging.conf - name: database-conf mountPath: /etc/rstudio/database.conf subPath: database.conf env: - name: PASSWORD value: ${PASSWORD} - name: HOME value: /home/rstudio - name: RSTUDIO_SESSION_TIMEOUT value: "0" ports: - containerPort: 8080 command: - sh - -c - | export USER=$(id -un) rserver \ --www-port 8080 \ --auth-none=0 \ --auth-pam-helper-path=pam-helper \ --auth-stay-signed-in-days=30 \ --auth-timeout-minutes=0 \ --auth-validate-users=0 \ --server-user=${USER} - apiVersion: v1 kind: Service metadata: name: rstudio-server labels: app: rstudio-server spec: ports: - port: 8080 selector: app: rstudio-server - apiVersion: route.openshift.io/v1 kind: Route metadata: name: rstudio-server labels: app: rstudio-server spec: # omitting host to randomly-generate a subdomain #subdomain: rstudio-server tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: rstudio-server parameters: - name: PASSWORD description: Password for logging into RStudio required: true from: '[\w]{20}' generate: expression