Skip to content

Commit 16796ce

Browse files
committed
2 parents ee100da + 5858b3f commit 16796ce

File tree

1 file changed

+162
-0
lines changed

1 file changed

+162
-0
lines changed

backend/config.json

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
{
2+
// One of: mmseqs,foldseek,colabfold,predictprotein
3+
"app": "foldseek",
4+
// should mmseqs und webserver output be printed
5+
"verbose": true,
6+
"server" : {
7+
"address" : "127.0.0.1:8081",
8+
// prefix for all API endpoints
9+
"pathprefix" : "/api/",
10+
// enables additional API endpoints for adding databases
11+
// WARNING: No additional authentication provided. Enable only within trusted network/for trusted admins.
12+
"dbmanagment": false,
13+
/* enable HTTP Basic Auth (optional)
14+
"auth": {
15+
"username" : "",
16+
"password" : "",
17+
},
18+
// enable rate-limiting (optional)
19+
"ratelimit" : {
20+
// this uses the token-bucket algorithm
21+
// i.e. we start with a full bucket (with burst tokens) and refill it at a given rate
22+
// each request consumes one token, if the bucket is empty the request is rejected
23+
// the example below starts with 20 tokens and refills 0.0333 token per second (2 tokens per minute)
24+
"rate" : 0.03333333333333,
25+
"burst" : 20,
26+
"ttl" : 1,
27+
"reason" : "The foldseek server is a shared resource. Please be mindful about submitting many jobs.",
28+
// CIDRs to allow without rate-limiting
29+
"allowlist": [],
30+
},
31+
*/
32+
// should CORS headers be set to allow requests from anywhere
33+
"cors" : true,
34+
// should old jobs be checked on startup
35+
"checkold" : true,
36+
},
37+
"worker": {
38+
// should workers exit immediately after SIGINT/SIGTERM signal or gracefully wait for job completion
39+
"gracefulexit": false,
40+
// How many databases can be searched in parallel (used additional CPUs)
41+
"paralleldatabases": 1,
42+
},
43+
// paths to workfolders and mmseqs, special character ~ is resolved relative to the binary location
44+
"paths" : {
45+
// path to mmseqs databases, has to be shared between server/workers
46+
"databases" : "../resources/databases",
47+
// path to job results and scratch directory, has to be shared between server/workers
48+
"results" : "../resources/jobs",
49+
// temporary files for index building
50+
"temporary" : "../resources/tmp",
51+
/*
52+
// paths to colabfold templates
53+
"colabfold" : {
54+
// configure GPU support for colabfold
55+
// GPU support for mmseqs and foldseek is configured in database .params files
56+
/*
57+
"gpu" : {
58+
// enable/disable
59+
"gpu": true,
60+
// enable gpuserver, saves about 1.5s per request in overhead
61+
"server": true,
62+
// set cuda visible devices for all databases, can be empty/omitted
63+
// "devices": "0,1,2",
64+
// set/override devices per database for better VRAM managment
65+
// "uniref_devices": "0",
66+
// "pdb_devices": "1",
67+
// "environmental_devices": "2",
68+
},
69+
*/
70+
// should stages be run in parallel
71+
"parallelstages": false,
72+
// paths for search databases
73+
"uniref" : "~databases/uniref30_2103",
74+
"pdb" : "~databases/pdb70",
75+
"environmental" : "~databases/colabfold_envdb_202108",
76+
"environmentalpair" : "~databases/spire_ctg10_2401_db",
77+
// paths for templates
78+
"pdb70" : "~databases/pdb70",
79+
"pdbdivided" : "~databases/pdbdivided",
80+
"pdbobsolete" : "~databases/pdbobsolete",
81+
},
82+
*/
83+
// path to foldseek binary
84+
"foldseek" : "../resources/mac/foldseek",
85+
"foldseekinterface" : "../resources/mac/foldseek",
86+
"foldmason" : "../resources/mac/foldmason",
87+
"folddisco" : "../resources/mac/folddisco",
88+
"foldcomp" : "../resources/mac/foldcomp",
89+
"pdb100" : "~pdb100",
90+
// path to mmseqs binary
91+
"mmseqs" : "~mmseqs",
92+
},
93+
// connection details for redis database, not used in -local mode
94+
"redis" : {
95+
"network" : "tcp",
96+
"address" : "localhost:6379",
97+
"password" : "",
98+
"index" : 0,
99+
},
100+
// options for local/single-binary server
101+
"local" : {
102+
"workers" : 1,
103+
// should old jobs be checked on startup
104+
"checkold" : true,
105+
},
106+
"mail" : {
107+
"mailer" : {
108+
// three types available:
109+
// null: uses NullTransport class, which ignores all sent emails
110+
"type" : "null"
111+
/* smtp: Uses SMTP to send emails example for gmail
112+
"type" : "smtp",
113+
"transport" : {
114+
// full host URL with port
115+
"host" : "smtp.gmail.com:587",
116+
// RFC 4616 PLAIN authentication
117+
"auth" : {
118+
{
119+
// empty for gmail
120+
"identity" : "",
121+
// gmail user
122+
"username" : "user@gmail.com",
123+
"password" : "password",
124+
"host" : "smtp.gmail.com",
125+
},
126+
},
127+
},
128+
*/
129+
/* mailgun: Uses the mailgun API to send emails
130+
"type" : "mailgun",
131+
"transport" : {
132+
// mailgun domain
133+
"domain" : "mail.mmseqs.com",
134+
// mailgun API private key
135+
"secretkey" : "key-XXXX",
136+
// mailgun API public key
137+
"publickey" : "pubkey-XXXX",
138+
},
139+
*/
140+
},
141+
// Email FROM field
142+
"sender" : "mail@example.org",
143+
/* Bracket notation is also possible:
144+
"sender" : "Webserver <mail@example.org>",
145+
*/
146+
// Email templates. First "%s" is resolved to the ticket identifier
147+
"templates" : {
148+
"success" : {
149+
"subject" : "Done -- %s",
150+
"body" : "%s",
151+
},
152+
"timeout" : {
153+
"subject" : "Timeout -- %s",
154+
"body" : "%s",
155+
},
156+
"error" : {
157+
"subject" : "Error -- %s",
158+
"body" : "%s",
159+
}
160+
}
161+
}
162+
}

0 commit comments

Comments
 (0)