Solidstack Service
Solidstack is the single-container WDS server. It exposes the Dapi API, Swagger, and MCP surfaces while running Crawler, Datakeeper, Idealer, Jober, Scraper, and Retriever implementations in process. This lowers the footprint for evaluation and small workloads but does not provide the independent scaling or fault isolation of a multi-service deployment.
Release images:
Note: The regular service image is multi-platform. The
-fipsservice image is built only forlinux/amd64.
All-in-one image variants
Solidstack is also published in three all-in-one variants. They contain the same WDS application surfaces but differ in the supporting services included in the container.
| Image | Included services and defaults | When to use it |
|---|---|---|
webdatasource/solidstack-aio:v3.0.0 |
Solidstack and Docker Official MongoDB Image. A local MongoDB connection is configured automatically. | Run the application and its database in one container when Retrieval and MongoDB Search are not required. |
webdatasource/solidstack-aio-fts:v3.0.0 |
Solidstack and MongoDB Atlas Local. Retrieval is enabled and SEARCH_MODE defaults to FullText. |
Use the Retrieval surface with full-text search without an external Atlas deployment. |
webdatasource/solidstack-aio-ftvs:v3.0.0 |
Everything in the FTS variant, plus Ollama and the preloaded embeddinggemma model. SEARCH_MODE defaults to FullTextAndVector, and the local Ollama endpoint is configured as the embedding service. |
Use both full-text and vector search without external MongoDB or embedding services. |
The AIO variants are supported only for Docker and Docker Compose deployments. The Helm chart uses the standard Solidstack image with external MongoDB and, for vector modes, an external embedding service.
AIO means all-in-one, FTS means full-text search, and FTVS means full-text and vector search. The AIO images expose MongoDB on port 27017 in addition to the Solidstack HTTP port 8080. Publishing port 27017 to the host is optional; Solidstack connects to the bundled database through the container’s loopback interface.
The AIO image initializes MongoDB with MONGO_INITDB_ROOT_USERNAME and MONGO_INITDB_ROOT_PASSWORD. The FTS and FTVS images use MONGODB_INITDB_ROOT_USERNAME and MONGODB_INITDB_ROOT_PASSWORD instead. Both username and password default to test; override them for any non-ephemeral deployment. Setting MONGODB_CONNECTION_STRING explicitly overrides the automatically constructed local connection string.
Configuration
| Name | Required | Default | Meaning |
|---|---|---|---|
MONGODB_CONNECTION_STRING |
Standard image only | Local MongoDB URI in AIO images | MongoDB connection string for all in-process components. Include a database name unless MONGODB_DATABASE_NAME is set. |
MONGODB_DATABASE_NAME |
No | Database from the connection string | Overrides the MongoDB database name. |
JOB_TYPES |
Yes | None | Available job types, supplied as a comma-separated value. |
TASKS_GET_RESULT_RETRY_DELAY_MS |
No | 1000 |
Delay in milliseconds between attempts to obtain an in-process task result. |
CRAWL_TASK_FAILURE_RECOVERY_DELAY_SEC |
No | 600 |
Age in seconds after which an abandoned captured crawl task can be recovered. |
EXTERNAL_IP_ADDRESS_CONFIGS |
No | None | Comma-separated Crawler address configurations. |
FEATURE_FLAG_RETRIEVAL_ENABLED |
No | false; true in FTS and FTVS |
Enables the Retrieval surface. |
SEARCH_MODE |
No | FullText; FullTextAndVector in FTVS |
Search behavior: FullText, Vector, or FullTextAndVector. |
EMBEDDING_SERVICE_URL |
For vector modes | None; local Ollama endpoint in FTVS | HTTP endpoint used to create embeddings. |
EMBEDDING_SERVICE_API_KEY |
No | None | Bearer token sent to the embedding service. |
EMBEDDING_SERVICE_REQUEST_TEMPLATE |
No | {'model':'embeddinggemma','input':null} |
JSON request template sent to the embedding service. |
EMBEDDING_SERVICE_CONTENT_JSON_PATH |
No | $.input |
JSONPath whose value is replaced with the input array. |
EMBEDDING_SERVICE_RESULT_JSON_PATH |
No | $.embeddings |
JSONPath used to extract the returned embeddings array. |
EMBEDDING_VECTORS_LENGTH |
No | 768 |
Number of dimensions stored in the MongoDB Atlas vector index. |
GLOBAL_EXCEPTION_RESPONSE_DELAY_MS |
No | 1000 |
Delay in milliseconds before returning an unhandled-error response. |
HEALTH_PROBE_LOG_LEVEL |
No | Debug |
Log level used for /health and /ready request messages. |
MIN_LOG_LEVEL |
No | Info |
Minimum application log level. |
Endpoints and dependencies
Port 8080 serves the API, /api/swagger, /api/swagger/swagger.json, /mcp, /health, and /ready. Solidstack uses MongoDB for system, cache, and search data and optionally calls an HTTP embedding service for vector modes; it has no inter-service gRPC-Web dependencies.
When Retrieval is enabled, the primary MongoDB deployment must support MongoDB Atlas Search. Vector modes also require an embedding service, and EMBEDDING_VECTORS_LENGTH must match the dimensions configured by the MongoDB vector-search index.
Solidstack’s current feature provider disables Scheduling. Use the multi-service Dapi and Jober topology when Scheduling is required.
JobTypes
Supported job execution environments. Dapi or Solidstack restricts the allowed values through JOB_TYPES; Crawler or Solidstack must also advertise a matching address configuration.
| Name | Description |
|---|---|
| internet | Crawl data from internet sources via request gateways (Proxy addresses, Host IP addresses, etc.) |
| intranet | Crawl data from intranet sources with no limits |