Features Overview
Everything included in DataSci Homelab, organized by category.
Base System
| Component | Version | Notes |
| Operating System | Ubuntu 22.04 LTS | Long-term support, stable base |
| Architecture | AMD64 + ARM64 | Native support, no emulation |
| Locales | en_US.UTF-8 | Full Unicode support |
| Timezone | America/Los_Angeles | Configurable via env |
R Environment
Core Installation
| Component | Version |
| R | 4.5.2 |
| RStudio Server | 2025.12.0 |
Pre-installed R Packages
Python Environment
Core Installation
| Component | Version |
| Python | 3.10 |
| pip | Latest |
| JupyterLab | 4.3+ |
Pre-installed Python Packages
| Tool | Version | Description |
| Quarto | 1.8.26 | Universal publishing system |
| Pandoc | 3.5 | Document converter |
| TinyTeX | Latest | Minimal LaTeX distribution |
Quarto Features
- Render to HTML, PDF, Word, presentations
- Works with both R and Python
- Integrated with RStudio and Jupyter
- Cross-reference support
- Citation management
Editors
| Tool | Description |
vim | Terminal text editor |
nano | Simple text editor |
Development
| Tool | Description |
git | Version control |
build-essential | C/C++ compiler toolchain |
gfortran | Fortran compiler |
cmake | Build system |
Fonts
| Font | Use Case |
| Liberation fonts | Document rendering |
| DejaVu fonts | Terminal/code |
| Lato | Custom documents |
| SF Mono | RStudio editor (via preferences) |
RStudio Configuration
Default Preferences
The following preferences are applied automatically:
{
"editor_keybindings": "vim",
"editor_theme": "Xcode",
"font_size_points": 13,
"server_editor_font": "SF Mono",
"relative_line_numbers": true,
"rainbow_parentheses": true,
"reformat_on_save": true,
"auto_save_on_blur": true
}
See Customization for how to modify these.
JupyterLab Configuration
Default Settings
- Token-based authentication
- Git extension enabled
- Notebook diffing enabled
- Interactive widgets support
Available Kernels
| Kernel | Language |
| Python 3 | Python |
| R | R (via IRkernel) |
Volume Persistence
| Path | Purpose | Persisted |
/home/rstudio | User home directory | ✓ |
/usr/local/lib/R/site-library | R packages | ✓ |
/home/rstudio/.local | Python user packages | ✓ |
/data | Shared data | ✓ |
Networking
| Port | Service |
| 8787 | RStudio Server |
| 8888 | JupyterLab |
Both services are available on 0.0.0.0 (all interfaces) within the container.
Health Checks
The container includes health checks:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8787"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
This ensures:
- Automatic restart on failure
- Docker Compose health status
- Proper startup sequencing
What's NOT Included
Intentionally excluded to keep the image focused:
- GPU/CUDA support — Use cloud instances for GPU workloads
- Database servers — Connect to external databases
- Apache Spark — Use dedicated Spark clusters
- Deep learning frameworks — Install as needed (TensorFlow, PyTorch)
These can be added via:
- Installing at runtime (packages persist in volumes)
- Building a custom image based on this one
- Using Docker Compose to add additional services