This Dockerfile builds a custom Docker image for the Dadosfera platform, providing a Python-based environment tailored for data science and processing pipelines. It includes dependencies for Jupyter, AWS integration, Orchest workflow management, and Dadosfera-specific tools.
jupyter/base-notebook:2022-03-09 (Ubuntu 20.04.1 LTS Focal)Add dadosfera/base-kernel-py-agent:<version> (e.g., 1.0.0) as a custom image inside a Project's Environment and build it:
jovyan with sudo privileges/orchest/services/base-images/base-kernel-py-agent/home/jovyan/home/jovyan/venv for Orchest dependenciescmake, curl, git, openssh-serverdefault-libmysqlclient-dev, libkrb5-devlibxcb1 for graphical applicationsboto3, awsclinumpy<2, pandas, fastparquetsnowflake-snowpark-pythonstreamlitchardet, requests, anybase32, pyopenssldadosfera==1.8.0b6: Core Dadosfera SDKdadosfera_logs==1.0.3: Logging utilitiesjupyter_client<7: Jupyter client libraryipykernel, ipython: Kernel and IPython supportpycryptodome: Cryptographic librarycffi, future: Additional dependencies| Variable | Value | Purpose |
|---|---|---|
JUPYTER_PATH | /opt/conda/share/jupyter | Jupyter kernel discovery path |
HOME | /home/jovyan | User home directory |
BASH_ENV | /home/jovyan/.orchestrc | Shell initialization script |
CONDA_ENV | base | Default conda environment |
PLOTLY_RENDERER | iframe | Plotly renderer for JupyterLab |
KERNEL_LANGUAGE | python | Enterprise Gateway kernel language |
ORCHEST_VERSION | Build-time argument | Orchest version identifier |
aws_access_key_idaws_secret_access_keydocker build \
--secret id=aws_access_key_id,src=path/to/aws_access_key_id \
--secret id=aws_secret_access_key,src=path/to/aws_secret_access_key \
--build-arg ORCHEST_VERSION=<version> \
-t dadosfera-base-kernel-py-agent:<tag> .
The image includes several custom components:
dadosfera-ai.py: Main AI agent scriptdadosfera-ai.sh: Shell wrapper for AI agentsetup_venv.sh: Virtual environment setup scriptbootscript.sh: Container startup scriptrequirements.txt: Orchest dependenciesrequirements-user.txt: User-facing dependencies.orchestrc: Shell configuration for Orchest environmentThis image is designed for:
Modify the requirements files:
requirements-user.txt: User-facing librariesrequirements.txt: System/Orchest dependenciesEdit bootscript.sh to customize container initialization.
Modify the AI agent wrapper scripts in the ai-agent-wrapper directory.
The dadosfera-ai Model Context Protocols (MCPS) are located at /usr/local/bin/mcps/ within the container. These scripts provide pre-configured prompts for the AI agent to handle common tasks. You can customize or add new MCPS files to enhance the AI capabilities.
The container includes the following MCP (Model Context Protocol) extensions:
Orchest MCP (orchest-mcp):
/usr/local/bin/mcps/dadosfera-orchest-mcpORCHEST_BASE_URL: Base URL for your Orchest instanceORCHEST_USER: Username for Orchest authenticationORCHEST_PASSWORD: Password for Orchest authenticationDadosfera MCP Server (dadosfera-mcp-server):
/usr/local/bin/mcps/dadosfera-mcp-server/dadosfera-mcpDADOSFERA_USERNAME: Your Dadosfera usernameDADOSFERA_PASSWORD: Your Dadosfera passwordDADOSFERA_METABASE_USERNAME: Metabase username for BI integrationDADOSFERA_METABASE_PASSWORD: Metabase password for BI integrationDADOSFERA_CUSTOMER_NAME: Your customer/organization nameMCP_SERVER_PREFIX: Server prefix for MCP communicationMCP_SERVER_PASSWORD: Password for MCP server authenticationBuilt-in Extensions:
To configure the MCP extensions, set these environment variables in your shell configuration:
# Add to ~/.bashrc or ~/.orchestrc
export ORCHEST_BASE_URL="https://your-orchest-instance.com"
export ORCHEST_USER="your-username"
export ORCHEST_PASSWORD="your-password"
export DADOSFERA_USERNAME="your-dadosfera-username"
export DADOSFERA_PASSWORD="your-dadosfera-password"
export DADOSFERA_METABASE_USERNAME="your-metabase-username"
export DADOSFERA_METABASE_PASSWORD="your-metabase-password"
export DADOSFERA_CUSTOMER_NAME="your-organization"
export MCP_SERVER_PREFIX="your-prefix"
export MCP_SERVER_PASSWORD="your-mcp-password"
To verify your MCP configuration is working:
# Test Goose CLI with MCP extensions
dadosfera-ai session start
# Check available tools
dadosfera-ai tools list
# Test specific MCP functionality
dadosfera-ai session "List available Orchest pipelines"
dadosfera-ai session "Show Dadosfera project status"
The final image is pushed to the Docker registry with the tag dadosfera/base-kernel-py-agent:<tag>. It includes all the dependencies and is ready to use in your projects.
This project is licensed under the terms of the MIT license. See the LICENSE file for details.
Content type
Image
Digest
sha256:b4693e72f…
Size
1.3 GB
Last updated
about 1 year ago
docker pull dadosfera/base-kernel-py-agent:1.0.6