Complete documentation refactoring with 57 service docs

- Refactored README.md, getting-started.md, quick-reference.md
- Enhanced setup-homelab.sh with 9-step automated process
- Created services-overview.md with all stacks
- Added comprehensive documentation for 57 services in docs/service-docs/
- All services include: overview, configuration, resources, educational content
- Coverage: Core, Infrastructure, Dashboards, Media, Media-Extended, Home Assistant, Productivity, Utilities, Monitoring, Development stacks
- Educational focus with links to tutorials, videos, and guides
This commit is contained in:
kelinfoxy
2026-01-12 18:03:12 -05:00
parent 906e6008ea
commit cba45556c7
69 changed files with 24404 additions and 1522 deletions

View File

@@ -0,0 +1,180 @@
# Jupyter Lab - Data Science Environment
## Table of Contents
- [Overview](#overview)
- [What is Jupyter Lab?](#what-is-jupyter-lab)
- [Why Use Jupyter Lab?](#why-use-jupyter-lab)
- [Configuration in AI-Homelab](#configuration-in-ai-homelab)
- [Official Resources](#official-resources)
- [Docker Configuration](#docker-configuration)
## Overview
**Category:** Data Science IDE
**Docker Image:** [jupyter/scipy-notebook](https://hub.docker.com/r/jupyter/scipy-notebook)
**Default Stack:** `development.yml`
**Web UI:** `http://SERVER_IP:8888`
**Token:** Check container logs
**Ports:** 8888
## What is Jupyter Lab?
Jupyter Lab is a web-based interactive development environment for notebooks, code, and data. It's the gold standard for data science work, allowing you to combine code execution, rich text, visualizations, and interactive widgets in one document. Think of it as an IDE specifically designed for data exploration and analysis.
### Key Features
- **Interactive Notebooks:** Code + documentation + results
- **Multiple Languages:** Python, R, Julia, etc.
- **Rich Output:** Plots, tables, HTML, LaTeX
- **Extensions:** Powerful extension system
- **File Browser:** Manage notebooks and files
- **Terminal:** Integrated terminal access
- **Markdown:** Rich text documentation
- **Data Visualization:** Matplotlib, Plotly, etc.
- **Git Integration:** Version control
- **Free & Open Source:** BSD license
## Why Use Jupyter Lab?
1. **Data Science Standard:** Used by data scientists worldwide
2. **Interactive:** See results immediately
3. **Documentation:** Code + explanations together
4. **Reproducible:** Share complete analysis
5. **Visualization:** Built-in plotting
6. **Exploratory:** Perfect for data exploration
7. **Teaching:** Great for learning/teaching
## Configuration in AI-Homelab
```
/opt/stacks/development/jupyter/work/
notebooks/ # Your Jupyter notebooks
data/ # Datasets
```
## Official Resources
- **Website:** https://jupyter.org
- **Documentation:** https://jupyterlab.readthedocs.io
- **Gallery:** https://github.com/jupyter/jupyter/wiki
## Docker Configuration
```yaml
jupyter:
image: jupyter/scipy-notebook:latest
container_name: jupyter
restart: unless-stopped
networks:
- traefik-network
ports:
- "8888:8888"
environment:
- JUPYTER_ENABLE_LAB=yes
- GRANT_SUDO=yes
user: root
volumes:
- /opt/stacks/development/jupyter/work:/home/jovyan/work
labels:
- "traefik.enable=true"
- "traefik.http.routers.jupyter.rule=Host(`jupyter.${DOMAIN}`)"
```
**Note:** `scipy-notebook` includes NumPy, Pandas, Matplotlib, SciPy, scikit-learn, and more.
## Setup
1. **Start Container:**
```bash
docker compose up -d jupyter
```
2. **Get Access Token:**
```bash
docker logs jupyter | grep token
# Look for: http://127.0.0.1:8888/lab?token=LONG_TOKEN_HERE
```
3. **Access UI:** `http://SERVER_IP:8888`
- Enter token from logs
- Set password (optional but recommended)
4. **Create Notebook:**
- File → New → Notebook
- Select kernel (Python 3)
- Start coding!
5. **Example First Cell:**
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# Create sample data
data = pd.DataFrame({
'x': range(10),
'y': np.random.randn(10)
})
# Plot
plt.plot(data['x'], data['y'])
plt.title('Sample Plot')
plt.show()
# Display data
data
```
## Pre-installed Libraries
**scipy-notebook includes:**
- **NumPy:** Numerical computing
- **Pandas:** Data analysis
- **Matplotlib:** Plotting
- **SciPy:** Scientific computing
- **scikit-learn:** Machine learning
- **Seaborn:** Statistical visualization
- **Numba:** JIT compiler
- **SymPy:** Symbolic mathematics
- **Beautiful Soup:** Web scraping
- **requests:** HTTP library
## Summary
Jupyter Lab is your data science environment offering:
- Interactive Python notebooks
- Code + documentation + results together
- Data visualization
- Rich output (plots, tables, LaTeX)
- Pre-installed data science libraries
- Extensible architecture
- Git integration
- Free and open-source
**Perfect for:**
- Data science work
- Machine learning
- Data exploration
- Teaching/learning Python
- Research documentation
- Reproducible analysis
- Prototyping algorithms
**Key Points:**
- Notebook format (.ipynb)
- Cell-based execution
- scipy-notebook has common libraries
- Token-based authentication
- Set password for easier access
- Markdown + code cells
- Share notebooks easily
**Remember:**
- Save token or set password
- Regular notebook saves
- Export notebooks to PDF/HTML
- Version control with Git
- Install extra packages: `!pip install package`
- Restart kernel if needed
- Shutdown unused kernels
Jupyter Lab powers your data science workflow!