updated README.md, organized and fixed bugs in setup scripts (now separated to not be one file). added documentation and references to static raspi.vintagecoding.net

This commit is contained in:
Joshua Ashton
2025-03-14 00:00:50 -06:00
parent 45b01432b8
commit 7db3961a79
10 changed files with 367 additions and 273 deletions
+43 -27
View File
@@ -1,37 +1,53 @@
<h1>ras-pi</h1>
A comprehensive, end-to-end guide to the fundamentals of coding, network
protocols, Linux, and the Raspberry Pi.
# Raspberry Pi, Linux, and Coding Introduction
A guide to the fundamentals of the Raspberry Pi through the exploration of coding, networking, and Linux. See the full guide at [vintagecoding.net](https://raspi.vintagecoding.net), or follow **Getting Started** to host a mirror of the manual directly on your Raspberry Pi.
<h2>Getting Started</h2>
Run the following commands on a fresh installation on a Raspberry Pi:
The possibilities are endless, and support for more projects is coming soon!
```
## Getting Started
Run the commands below in the terminal application on a fresh installation on a Raspberry Pi. To paste into a terminal, use Control+Shift+v. If you need help with installing the Operating System (OS) on your Pi, please see the [manual](https://raspi.vintagecoding.net#install-os).
```bash
sudo apt install git;
git clone https://github.com/SLCPL-CreativeLab/ras-pi;
cd ras-pi/scripts;
sudo chmod a+x install.sh;
sudo ./install.sh;
./setup.sh;
# If you want to expose services to the internet, run this command as well.
sudo ./cloudflared.sh;
# Optionally:
./setup-ai.sh # Installs Ollama (all supported Pi's) and Open WebUI (only on Pi 5 and higher).
./setup-manual.sh # Installs the manual.
./setup-jellyfin.sh # Installs Jellyfin.
```
<h3>Expose Services to the Internet</h3>
To enable cloudflared to expose services to the internet, you must:<br>
<ul>
<li>Make a Cloudflare account & purchase a domain</li>
<li>Run the command `cloudflared tunnel login`</li>
<li>Run the command ./cloudflared.sh in ~/ras-pi/scripts</li>
</ul>
## Expose Services to the Internet
To use `cloudflared` to expose services to the internet, you must:
To temporarily expose a single service to the internet, use this
command: `cloudflared tunnel --url=http://localhost:PORT`, where
PORT is the service you'd like to expose. The ports used with the
standard services are:<br>
<ul>
<li>5090 (the manual mirror of raspi.vintagecoding.net)</li>
<li>5091 (the AI web application)</li>
<li>5092 (the personal Netflix replacement)</li>
</ul>
- Make a Cloudflare account & purchase a domain
- Run the command `cloudflared tunnel login`
- Run the command `./setup-cloudflared.sh` in ~/ras-pi/scripts
See `cloudflared.md` for more information.
or:
- `cloudflared tunnel --url=http://localhost:PORT`
to alternatively temporarily expose a single service to the internet. PORT is the service you'd like to expose. The ports used with the standard services are below.
| PORT | SERVICE |
|--------------------|----------------------------------------------|
| 5090 | Mirror of raspi.vintagecoding.net |
| 5091 | Jellyfin |
| 5092 | Open WebUI |
For more information about `cloudflared`, particularly regarding the security of connecting a service to the internet, please read their [docs](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/).
## Contributions & Support
Feel free to contribute to the project! Please see **CONTRIBUTIONS.md** to start.
If you need any help with getting started, please email [me](mailto:jashton@slcpl.org).
## Projects/Software Used
- [ollama](https://github.com/ollama/ollama)
- [open-webui](https://github.com/open-webui/open-webui)
- [jellyfin](https://github.com/jellyfin/jellyfin)
- [cloudflared](https://github.com/cloudflare/cloudflared)
- [podman](https://github.com/containers/podman)