Dick Postma and Xavier EscribΓ Montagut
Goal: Deploy Armadillo locally using Docker Compose
π’ Armadillo (Molgenis DataSHIELD Server) - Main DataSHIELD server and admin UI
π§ Rock (R Server) - Executes R/DataSHIELD calls from Armadillo
ποΈ Filesystem (File Store) - Files are stored locally on disk.
local-deploy-armadillo
βββ config
βββ application.yml ( Main armadillo configuration )
βββ data ( Local storage )
βββ docker-compose.yml
βββ logs ( Armadillo logfiles )
armadillo:
docker-management-enabled: false
docker-run-in-container: true
profiles:
- name: default
image: datashield/rock-base:latest
port: 8085
host: rserver
package-whitelist:
- dsBase
function-blacklist: [ ]
options:
datashield:
seed: 342325352
# required settings:
spring:
security:
user:
# please change this admin password!
password: admin!!!
storage:
## to change location of the data storage
root-dir: /data
services:
armadillo:
image: molgenis/molgenis-armadillo:latest
platform: linux/amd64
ports:
- "8000:8080"
volumes:
- ./logs:/app/logs
- ./data:/data
- /var/run/docker.sock:/var/run/docker.sock
- ./config:/config
networks:
- armadillo-workshop
rserver:
image: datashield/rock-base:latest
platform: linux/amd64
# Start all services
docker-compose up -d
# Check status
docker-compose ps
# Monitor Opal logs
docker-compose logs -f armadillo
First start: May take a minute while images are pulled
Access: Open http://localhost:8000
in your browser
Login: User admin
+ password from config
library(dsBaseClient)
library(DSI)
library(DSMolgenisArmadillo)
url <- "http://localhost:8000"
builder <- DSI::newDSLoginBuilder()
builder$append(
server = "armadillo",
url = url,
#token = token,
user = "admin",
password = "admin",
driver = "ArmadilloDriver",
profile = "default")
logindata <- builder$build()
conns <- DSI::datashield.login(logins = logindata)
ds.ls()
Note: SSL verification disabled for local testing only!
Network Setup
armadillo-workshop
Docker networkPersistence
Operational Armadillo datashield Setup! Full stack setup (keycloak) available at github!