Skip to content

Commit 1aa5f34

Browse files
authored
Merge pull request #2022 from trendscenter/secopt-hotfix
add sec options to get past pthread issues on docker
2 parents 2bb994b + 8d2c882 commit 1aa5f34

File tree

3 files changed

+115
-1
lines changed

3 files changed

+115
-1
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
{
2+
"meta": {
3+
"name": "Decentralized Source Based Morphometry",
4+
"id": "coinstac-dsbm",
5+
"version": "v1.0.0",
6+
"compspecVersion": 2,
7+
"repository": "https://github.com/trendscenter/decentralized-source-based-morphometry",
8+
"description": "A Demo for Decentralized Source Based Morphometry"
9+
},
10+
"computation": {
11+
"display": {
12+
"type": "iframe"
13+
},
14+
"input": {
15+
"data": {
16+
"label": "Data",
17+
"type": "files",
18+
"items": [
19+
"NiFTI"
20+
],
21+
"extensions": [
22+
[
23+
"nii"
24+
]
25+
],
26+
"source": "member",
27+
"order": 1
28+
},
29+
"mask": {
30+
"group": "options",
31+
"default": "/computation/local_data/mask.nii",
32+
"label": "Mask Filename",
33+
"type": "string",
34+
"source": "owner",
35+
"tooltip": "Nifti file name to be use as the mask",
36+
"order": 2
37+
},
38+
"scica_template": {
39+
"group": "options",
40+
"default": "/computation/local_data/Neuromark_sMRI_1.0_modelorder-30_2x2x2.nii",
41+
"label": "Spatially Constrained ICA Template Name",
42+
"type": "string",
43+
"source": "owner",
44+
"tooltip": "Nifti file name to be use as the template for spatially constrained ICA",
45+
"order": 3
46+
},
47+
"subsample_nifti_images": {
48+
"group": "options",
49+
"default": "false",
50+
"label": "Perform input nifti subsampling",
51+
"type": "boolean",
52+
"source": "owner",
53+
"tooltip": "true to subsample nifti images else false",
54+
"order": 4
55+
},
56+
"voxel_size": {
57+
"group": "options",
58+
"default": "2",
59+
"label": "Voxel size (subsampling)",
60+
"type": "number",
61+
"source": "owner",
62+
"tooltip": "Voxel size to subsample nifti images",
63+
"order": 4
64+
},
65+
"covariates": {
66+
"group": "Regression variables",
67+
"label": "Covariates",
68+
"type": "csv",
69+
"items": ["boolean", "number", "string"],
70+
"source": "member",
71+
"tooltip": "csv file with nifti file name, covariates information of each subject in a separate line",
72+
"order": 5
73+
},
74+
"reference_columns": {
75+
"group": "Regression variables",
76+
"label": "Regression reference column(s) and value(s)",
77+
"default": {},
78+
"type": "object",
79+
"source": "owner",
80+
"tooltip": "Used in regression for dummy encoding categorical covariate columns. Required only if specific value(s) should be used for dummy encoding a column(s); Example : { \"reference_column_name\": \"reference_value\" }",
81+
"order": 6
82+
},
83+
"group_col_name": {
84+
"group": "Regression variables",
85+
"label": "Patient/Control column name",
86+
"default": "",
87+
"type": "string",
88+
"source": "owner",
89+
"tooltip": "Column name in the covariates file that contains patients and controls information.",
90+
"order": 6
91+
}
92+
},
93+
"output": {},
94+
"type": "docker",
95+
"dockerImage": "coinstacteam/coinstac-dsbm",
96+
"command": [
97+
"python",
98+
"/computation/local.py"
99+
],
100+
"remote": {
101+
"type": "docker",
102+
"dockerImage": "coinstacteam/coinstac-dsbm",
103+
"command": [
104+
"python",
105+
"/computation/remote.py"
106+
]
107+
}
108+
}
109+
}

packages/coinstac-api-server/seed/populate.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const dlmeFS = require('./data/coinstac-dlme-fs.json');
99
const dlmeVBM = require('./data/coinstac-dlme-vbm.json');
1010
const dpica = require('./data/coinstac-dpica.json');
1111
const dsneMS = require('./data/coinstac-dsne-ms.json');
12+
const dcsbm = require('./data/coinstac-dcsbm.json');
1213
const drneVbm = require('./data/coinstac-schema-regression-vbm.json');
1314
// const ssrVbm = require('./data/coinstac-schema-regression-ss-vbm');
1415
const msrVbm = require('./data/coinstac-schema-regression-ms-vbm.json');
@@ -43,7 +44,7 @@ const CONSORTIA_IDS = generateUniqueIDs(2);
4344

4445
const PIPELINE_IDS = generateUniqueIDs(4);
4546

46-
const COMPUTATION_IDS = generateUniqueIDs(28);
47+
const COMPUTATION_IDS = generateUniqueIDs(29);
4748

4849
const USER_IDS = generateUniqueIDs(6);
4950

@@ -81,6 +82,8 @@ async function populateComputations() {
8182
{ ...dlmeVBM, submittedBy: 'author', _id: COMPUTATION_IDS[25] },
8283
{ ...transfer, submittedBy: 'author', _id: COMPUTATION_IDS[26] },
8384
{ ...stress, submittedBy: 'author', _id: COMPUTATION_IDS[27] },
85+
{ ...dcsbm, submittedBy: 'author', _id: COMPUTATION_IDS[28] },
86+
8487
];
8588
const currentComps = await db.collection('computations').find().toArray();
8689
const operations = comps2Insert.reduce((ops, comp) => {

packages/coinstac-container-manager/src/services/docker.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ module.exports = {
118118
Image: dockerImage,
119119
HostConfig: {
120120
Binds: [...mounts],
121+
SecurityOpt: ['seccomp=unconfined'],
121122
},
122123
}, containerOptions),
123124
};
@@ -176,6 +177,7 @@ module.exports = {
176177
[tcpOpt]: [{ HostPort: `${port}`, HostIp: process.env.CI ? '' : '127.0.0.1' }],
177178
...(process.LOGLEVEL === 'debug' && { '4444/tcp': [{ HostPort: `44${portmunge}`, HostIp: '127.0.0.1' }] }),
178179
},
180+
SecurityOpt: ['seccomp=unconfined'],
179181
},
180182
Tty: true,
181183
};

0 commit comments

Comments
 (0)