Files
ReachableCEO-AI-Homedir-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Computational/README.md
ReachableCEO d30f103209 Add organized Docker container structure with disciplined naming
- Create layered container architecture: Base, Light, Full, Computational
- Implement non-root user management with UID/GID mapping
- Add Markwhen timeline tool to documentation stack
- Create wrapper scripts for environment variable handling
- Update documentation across all containers
- Establish naming convention using RCEO-AIOS-Public-Tools- prefix
- Add organizational rule to keep repository root clean
- Remove old unorganized container files
2025-10-16 11:40:25 -05:00

3.2 KiB

RCEO-AIOS-Public-Tools-DocMaker-Computational Container

This container is part of the AIOS-Public project and provides a comprehensive documentation and computational environment.

Overview

The RCEO-AIOS-Public-Tools-DocMaker-Computational container extends the full documentation environment with computational tools for data analysis, scientific computing, and interactive notebooks. It's designed for CTO mode operations involving R&D and computational work.

Tools Included

Inherits all tools from:

  • RCEO-AIOS-Public-Tools-DocMaker-Full: All documentation and LaTeX tools

Computational Tools

  • R Programming Language: Statistical computing and data analysis
  • Python Scientific Stack:
    • pandas - Data manipulation
    • numpy - Numerical computing
    • matplotlib - Visualization
    • scipy - Scientific computing
  • Jupyter Notebooks: Interactive computational environments
  • GNU Octave: Numerical computations (MATLAB alternative)
  • bc: Command-line calculator

Usage

Building the Computational Container

# From this directory
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Computational

# Use the wrapper script to automatically detect and set user IDs
./docker-compose-wrapper.sh build

# Or run commands in the computational container with automatic user mapping
./docker-compose-wrapper.sh run docmaker-computational [command]

# Example: Run R analysis
./docker-compose-wrapper.sh run docmaker-computational Rscript analysis.R

# Example: Run Python analysis
./docker-compose-wrapper.sh run docmaker-computational python analysis.py

# Example: Start Jupyter notebook server
./docker-compose-wrapper.sh up
# Then access at http://localhost:8888

Using with docker-compose directly

# Set environment variables and run docker-compose directly
LOCAL_USER_ID=$(id -u) LOCAL_GROUP_ID=$(id -g) docker-compose up --build

# Or export variables first
export LOCAL_USER_ID=$(id -u)
export LOCAL_GROUP_ID=$(id -g) 
docker-compose up

Using the wrapper script

# Build and start the computational container with Jupyter access and automatic user mapping
./docker-compose-wrapper.sh up --build

# Start without rebuilding
./docker-compose-wrapper.sh up

# View container status
./docker-compose-wrapper.sh ps

# Stop containers
./docker-compose-wrapper.sh down

User ID Mapping (For File Permissions)

The container automatically detects and uses the host user's UID and GID to ensure proper file permissions. This means:

  • Files created inside the container will have the correct ownership on the host
  • No more root-owned files after container operations
  • Works across different environments (development, CI/CD, cloud)

The container detects the user ID from the mounted workspace volume. If needed, you can override the default values by setting environment variables:

# Set specific user ID and group ID before running docker-compose
export LOCAL_USER_ID=1000
export LOCAL_GROUP_ID=1000
docker-compose up

Or run with inline environment variables:

LOCAL_USER_ID=1000 LOCAL_GROUP_ID=1000 docker-compose up

The container runs as a non-root user named ReachableCEO-Tools with the detected host user's UID/GID.