diff --git a/README.md b/README.md index 78e7c10..acce182 100644 --- a/README.md +++ b/README.md @@ -41,12 +41,14 @@ Each container is deployed individually through the Unraid Container Builder and --- -### Step 1 – Clone the repository onto your Unraid share +### Step 1 – Clone the repository onto your Unraid cache drive + +> **Unraid volume mount requirement:** Docker containers on Unraid **cannot reliably access `/mnt/user/` paths**. `/mnt/user` is a FUSE filesystem that is not available inside the Docker container namespace — the container sees an empty directory, Apache finds no files, and returns a 403 Forbidden. Always clone and mount from the **cache drive path directly** (`/mnt/cache/appdata/`). Open an Unraid terminal (**Tools → Terminal** or SSH in): ```bash -cd /mnt/user/appdata +cd /mnt/cache/appdata git clone https://github.com/jasonMPM/alwisp.git cd alwisp ``` @@ -58,7 +60,7 @@ cd alwisp The web container uses a custom image built from the included `Dockerfile`. Build it once from the terminal — Unraid's Container Builder will reference it by name. ```bash -cd /mnt/user/appdata/alwisp +cd /mnt/cache/appdata/alwisp docker build -t alwisp_web:latest . ``` @@ -93,8 +95,8 @@ docker build -t alwisp_web:latest . | Container Path | Host Path | Access Mode | |---|---|---| -| `/var/lib/mysql` | `/mnt/user/appdata/alwisp/db_data` | Read/Write | -| `/docker-entrypoint-initdb.d/init.sql` | `/mnt/user/appdata/alwisp/docker/mysql/init.sql` | Read Only | +| `/var/lib/mysql` | `/mnt/cache/appdata/alwisp/db_data` | Read/Write | +| `/docker-entrypoint-initdb.d/init.sql` | `/mnt/cache/appdata/alwisp/docker/mysql/init.sql` | Read Only | 6. Click **Apply** — Unraid pulls the MySQL image and starts the container @@ -130,8 +132,8 @@ docker build -t alwisp_web:latest . | Container Path | Host Path | Access Mode | |---|---|---| -| `/var/www/html` | `/mnt/user/appdata/alwisp/www` | Read/Write | -| `/etc/apache2/ssl` | `/mnt/user/appdata/alwisp/docker/apache/ssl` | Read Only | +| `/var/www/html` | `/mnt/cache/appdata/alwisp/www` | Read/Write | +| `/etc/apache2/ssl` | `/mnt/cache/appdata/alwisp/docker/apache/ssl` | Read Only | > The Apache vhost config (`000-default.conf`) is baked directly into the image via `COPY` in the Dockerfile — no bind mount needed. To change it, edit the file in `docker/apache/` and rebuild the image. @@ -192,7 +194,7 @@ Because the web container has a dedicated LAN IP, reverse proxy setup is straigh 1. Add a **Proxy Host** in Nginx Proxy Manager 2. Forward hostname/IP: `192.168.1.100` (the web container's br0 IP), port `80` 3. Enable SSL via Let's Encrypt -4. Drop your certificate files into `/mnt/user/appdata/alwisp/docker/apache/ssl/` — they are already mounted into the container +4. Drop your certificate files into `/mnt/cache/appdata/alwisp/docker/apache/ssl/` — they are already mounted into the container --- @@ -200,7 +202,7 @@ Because the web container has a dedicated LAN IP, reverse proxy setup is straigh | Setting | Value | |---|---| -| Share path | `/mnt/user/appdata/alwisp` | +| Share path | `/mnt/cache/appdata/alwisp` | | Use cache | Yes (cache-only or prefer) | | Exclude from backup | No — include in Appdata backup | @@ -330,15 +332,15 @@ alwisp/ ## Updating the Site -Because `/mnt/user/appdata/alwisp/www` is bind-mounted directly into `alwisp_web`, **PHP and asset changes take effect immediately** — no rebuild or restart needed. +Because `/mnt/cache/appdata/alwisp/www` is bind-mounted directly into `alwisp_web`, **PHP and asset changes take effect immediately** — no rebuild or restart needed. ```bash # Pull latest code -cd /mnt/user/appdata/alwisp +cd /mnt/cache/appdata/alwisp git pull origin main # If the Dockerfile changed, rebuild the image and restart the web container: -docker build -t alwisp_web:latest /mnt/user/appdata/alwisp +docker build -t alwisp_web:latest /mnt/cache/appdata/alwisp docker restart alwisp_web ``` @@ -350,7 +352,7 @@ The database container (`alwisp_db`) is completely independent — updates to th ```bash # Rebuild the web image after Dockerfile changes -docker build -t alwisp_web:latest /mnt/user/appdata/alwisp +docker build -t alwisp_web:latest /mnt/cache/appdata/alwisp # Start / stop individual containers docker start alwisp_web @@ -371,7 +373,7 @@ docker exec -it alwisp_web bash docker exec -it alwisp_db mysql -u alwisp_user -p alwisp # Manual database backup -docker exec alwisp_db mysqldump -u alwisp_user -p alwisp > /mnt/user/appdata/alwisp/backups/backup_$(date +%F).sql +docker exec alwisp_db mysqldump -u alwisp_user -p alwisp > /mnt/cache/appdata/alwisp/backups/backup_$(date +%F).sql ``` --- diff --git a/www/includes/footer.php b/www/includes/footer.php index 72348ad..4e0b055 100644 --- a/www/includes/footer.php +++ b/www/includes/footer.php @@ -8,16 +8,17 @@ -
+ @@ -25,7 +26,7 @@Alabama's locally-owned wireless internet and mesh networking company.
+A networking solutions company built on the belief that every environment deserves a network that actually works.
ALWISP wasn't started in a boardroom. It was started under a tent.
+After a tornado tore through an Alabama community, the area was left without reliable internet at exactly the moment it was needed most — when charity workers, relief organizations, and volunteers were mobilizing to help. No connectivity meant no coordination.
+We stepped in. We sourced equipment, designed a deployment on the fly, set it up outdoors in field conditions, and built out access nodes so that relief workers and residents could get online. The network went up fast because it had to.
+That experience became the foundation of how we think about every project: assess the environment, engineer a real solution, deploy it fast, and make sure it works when it counts. No templates. No assumptions. No cutting corners on the infrastructure people are going to depend on.
+Today ALWISP designs and deploys custom mesh networks, managed services, structured cabling, access control, and IP camera systems for clients across Alabama — bringing the same field-tested mentality to every job, whether it's a small office or a multi-building campus.
+We exist to build networks that solve real problems. Not to sell subscriptions, not to lock clients into contracts, and not to hand off a half-finished system with a manual and a phone number.
+Every engagement starts with listening — understanding the environment, the workflows that depend on connectivity, and the constraints we're working within. From there we design, install, and manage a solution that fits.
+We're a small, local team. Our clients have our direct line. When something needs attention, we respond — not a call center, not a ticket queue.
+We start with a site survey and a conversation. We want to understand your environment, your existing infrastructure, and what success looks like for your organization.
+We build a custom solution for your situation — equipment selection, topology, IP schema, and physical routing — before any installation begins.
+Our team handles the full installation. Cabling, mounting, configuration, and testing — everything documented as we go.
+We stay on. Monitoring, maintenance, updates, and support keep your network running at full capacity long after the install is done.
+Tell us about your project and we'll get back to you with a straight answer.
+ Get in TouchSee where ALWISP service is available.
+ Our Work +A sample of the environments we've designed and deployed for — every one a custom solution.
We work across industries and environments. Here's a cross-section of the project types in our portfolio.
+Our first deployment — a wireless mesh network stood up in field conditions after a tornado to support charity relief workers and restore internet access for the surrounding community.
+Managed wireless and wired networks for offices, retail locations, and light industrial facilities — including access control and IP camera integration.
+Fast-deploy mesh networks for outdoor events, festivals, temporary operations, and pop-up facilities — up and running on your schedule.
+Unified managed networks spanning multiple locations — consistent policy, centralized monitoring, and a single point of contact for support across all sites.
+IP camera systems designed from the ground up — camera placement, cabling, NVR setup, and remote access — for warehouses, parking areas, and multi-building campuses.
+From a single entry point to a full multi-door system with credential management and audit logging — retrofit or new construction, indoors or out.
+Tell us about it. We'll give you a straight assessment of what the right solution looks like.
+ Start a Conversation +Alabama's Wireless Network Provider
+Custom Networking Solutions
- Enterprise-grade mesh networking that reaches where fiber can't. - Residential plans, business solutions, and infrastructure buildouts across Alabama. + We design and deploy custom mesh networks, structured cabling, access control, + and IP camera systems — built for your environment and managed by our team.