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:
180
docs/service-docs/jupyter.md
Normal file
180
docs/service-docs/jupyter.md
Normal 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!
|
||||
Reference in New Issue
Block a user