Skip to content

Commit b05984e

Browse files
authored
Merge pull request #16 from ruralmeltdown/2025-08_ruralmeltdown_issue-15
Introduce tabs to some documents, as well as some other minor tweaks
2 parents 0a3f105 + 8781e13 commit b05984e

File tree

9 files changed

+257
-235
lines changed

9 files changed

+257
-235
lines changed

docs/defaults.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The exception to this is `hostapd.conf` which is effectively rewritten depending
2020
Baseline configurations for `dhcpcd`, `dnsmasq` (described below) and bridged AP configurations are contained here.
2121

2222
## Managing config values
23-
The interface itself, default Linux file paths and so on may be changed by modifying the project's configuration file `config.php`.
23+
The interface itself, default Linux file paths, and so on may be changed by modifying the project's configuration file `config.php`.
2424

2525
!!! note "Note"
2626
The file `config/config.php` is copied during the installation to `includes/config.php` and ignored by Git. This way, users can modify `includes/config.php` without `git pull` or upgrades complaining about local changes. The file `includes/defaults.php` loads corresponding default values if they are not set.

docs/docker.md

Lines changed: 88 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -111,117 +111,119 @@ sudo usermod -aG docker $USER
111111
With these steps completed, you have successfully installed and started Docker Engine. We're now ready to deploy RaspAP.
112112

113113
## Deploying RaspAP
114-
With Docker Engine installed, you have two ways of deploying RaspAP in a Docker container. Each of these methods is described in the sections below.
114+
With Docker Engine installed, you have two ways of deploying RaspAP in a Docker container. Each of these methods is described in their resepective tabs below.
115115

116-
### Using Docker compose
117-
This method lets us deploy the entire RaspAP application stack with a single command (`docker compose up`) as well as configure things like environment variables, network settings and so on in a centralized manner. Advanced users may also use this option to define a multi-container environment of which RaspAP is one component. This may be done with the `docker-compose.yml` file.
116+
=== "Using Docker compose"
117+
This method lets us deploy the entire RaspAP application stack with a single command (`docker compose up`) as well as configure things like environment variables, network settings and so on in a centralized manner. Advanced users may also use this option to define a multi-container environment of which RaspAP is one component. This may be done with the `docker-compose.yml` file.
118118

119-
Begin by cloning the `raspap-docker` [GitHub repository](https://github.com/RaspAP/raspap-docker) into your home directory, then change into it:
119+
Begin by cloning the `raspap-docker` [GitHub repository](https://github.com/RaspAP/raspap-docker) into your home directory, then change into it:
120120

121-
```
122-
cd ~/
123-
git clone https://github.com/RaspAP/raspap-docker.git
124-
cd raspap-docker
125-
```
121+
```
122+
cd ~/
123+
git clone https://github.com/RaspAP/raspap-docker.git
124+
cd raspap-docker
125+
```
126126

127-
For ARM devices, such as the Raspberry Pi, we must uncomment the `cgroup: host` line in the `docker-compose.yaml` file:
128-
129-
``` py hl_lines="9"
130-
version: "3.8"
131-
services:
132-
raspap:
133-
container_name: raspap
134-
image: ghcr.io/raspap/raspap-docker:latest
135-
#build: .
136-
privileged: true
137-
network_mode: host
138-
cgroup: host # uncomment when using an ARM device
139-
cap_add:
140-
- SYS_ADMIN
141-
volumes:
142-
- /sys/fs/cgroup:/sys/fs/cgroup:rw
143-
restart: unless-stopped
144-
```
127+
For ARM devices, such as the Raspberry Pi, we must uncomment the `cgroup: host` line in the `docker-compose.yaml` file:
128+
129+
``` py hl_lines="9"
130+
version: "3.8"
131+
services:
132+
raspap:
133+
container_name: raspap
134+
image: ghcr.io/raspap/raspap-docker:latest
135+
#build: .
136+
privileged: true
137+
network_mode: host
138+
cgroup: host # uncomment when using an ARM device
139+
cap_add:
140+
- SYS_ADMIN
141+
volumes:
142+
- /sys/fs/cgroup:/sys/fs/cgroup:rw
143+
restart: unless-stopped
144+
```
145145

146-
Edit this file with `nano docker-compose.yaml`, change the line to appear as above, then use ++ctrl+o++ and press ++enter++ to save and exit the file.
146+
Edit this file with `nano docker-compose.yaml`, change the line to appear as above, then use ++ctrl+o++ and press ++enter++ to save and exit the file.
147147

148-
!!! warning "Important"
149-
Do not use `docker-compose` but rather `docker compose`. If the latter isn't present on your system, refer to Docker's [installation steps](https://docs.docker.com/compose/install/).
148+
!!! warning "Important"
149+
Do not use `docker-compose` but rather `docker compose`. If the latter isn't present on your system, refer to Docker's [installation steps](https://docs.docker.com/compose/install/).
150150

151-
With this configuration done, execute Docker compose like so:
151+
With this configuration done, execute Docker compose like so:
152152

153-
```
154-
docker compose up -d
155-
```
153+
```
154+
docker compose up -d
155+
```
156156

157-
You should see output similar to below to indicate the progress of RaspAP's Docker image being built:
157+
You should see output similar to below to indicate the progress of RaspAP's Docker image being built:
158158

159-
```
160-
docker compose up -d
161-
[+] Running 2/8
162-
⠇ raspap 7 layers [⠀⡀⣿⣿⠀⠀⠀] 12.83MB/337.8MB Pulling
163-
⠋ 5665c1f9a9e1 Downloading [===> ] 3.547MB/49.59MB
164-
⠋ 4311202aff18 Downloading [=========> ] 4.98MB/24.95MB
165-
✔ ac4d205394f0 Download complete
166-
✔ baf57b850085 Download complete
167-
⠋ 18a1ed9b4ba8 Downloading [=> ] 4.307MB/263.3MB
168-
⠋ 5bed08c889b9 Waiting
169-
⠋ 09ed3fdeed88 Waiting
170-
```
159+
```
160+
docker compose up -d
161+
[+] Running 2/8
162+
⠇ raspap 7 layers [⠀⡀⣿⣿⠀⠀⠀] 12.83MB/337.8MB Pulling
163+
⠋ 5665c1f9a9e1 Downloading [===> ] 3.547MB/49.59MB
164+
⠋ 4311202aff18 Downloading [=========> ] 4.98MB/24.95MB
165+
✔ ac4d205394f0 Download complete
166+
✔ baf57b850085 Download complete
167+
⠋ 18a1ed9b4ba8 Downloading [=> ] 4.307MB/263.3MB
168+
⠋ 5bed08c889b9 Waiting
169+
⠋ 09ed3fdeed88 Waiting
170+
```
171171

172-
During this process, a Docker image containing RaspAP's application stack will be created on your system. This build always pulls the [latest RaspAP release](https://github.com/RaspAP/raspap-webgui/releases/latest) from the main [GitHub repository](https://github.com/RaspAP/raspap-webgui/).
172+
During this process, a Docker image containing RaspAP's application stack will be created on your system. This build always pulls the [latest RaspAP release](https://github.com/RaspAP/raspap-webgui/releases/latest) from the main [GitHub repository](https://github.com/RaspAP/raspap-webgui/).
173173

174-
Behind the scenes, Docker has used the image it created to start a containerized RaspAP application stack. You may confirm this by executing the following:
174+
Behind the scenes, Docker has used the image it created to start a containerized RaspAP application stack. You may confirm this by executing the following:
175175

176-
```
177-
docker container ls
178-
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
179-
8d7b32b8373a raspap:latest "/bin/bash -c '/home…" 2 hours ago Up 2 hours raspap
180-
```
176+
```
177+
docker container ls
178+
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
179+
8d7b32b8373a raspap:latest "/bin/bash -c '/home…" 2 hours ago Up 2 hours raspap
180+
```
181181

182-
At this stage, the RaspAP application is running and you may access the web interface as you would normally. This will depend on the method you use to access your device, but is usually one of the following:
182+
At this stage, the RaspAP application is running and you may access the web interface as you would normally. This will depend on the method you use to access your device, but is usually one of the following:
183183

184-
- `http://raspberrypi.local`
185-
- `http://10.3.141.1`
186-
- `http://localhost`
184+
- `http://raspberrypi.local`
185+
- `http://10.3.141.1`
186+
- `http://localhost`
187187

188-
Take note that RaspAP and all its dependencies are wholly contained within the running Docker container. That is, the host system does not have any of the `apt` packages or application files used by RaspAP, unless you've explicitly installed them.
188+
Take note that RaspAP and all its dependencies are wholly contained within the running Docker container. That is, the host system does not have any of the `apt` packages or application files used by RaspAP, unless you've explicitly installed them.
189189

190-
### Using the container registry
191-
As an alternative to `docker compose`, described above, you may also deploy RaspAP using its hosted Docker container image. This is available as a `raspap-docker` package hosted on the [GitHub Container registry](https://ghcr.io/). With this method, a single container is defined from its base image, the environment is setup and the application is configured within the container.
190+
=== "Using the container registry"
191+
As an alternative to `docker compose`, described above, you may also deploy RaspAP using its hosted Docker container image. This is available as a `raspap-docker` package hosted on the [GitHub Container registry](https://ghcr.io/). With this method, a single container is defined from its base image, the environment is setup and the application is configured within the container.
192192

193-
Given that everything needed to deploy RaspAP is stored within this package, it isn't necessary to clone the `raspap-docker` respository. Instead, you may simply execute one of the following `docker run` commands:
193+
Given that everything needed to deploy RaspAP is stored within this package, it isn't necessary to clone the `raspap-docker` respository. Instead, you may simply execute one of the following `docker run` commands:
194194

195-
1. For ARM devices, the `cgroups` must be made writable.
196-
```
197-
docker run --name raspap -it -d --privileged --network=host --cgroupns=host -v /sys/fs/cgroup:/sys/fs/cgroup:rw --cap-add SYS_ADMIN ghcr.io/raspap/raspap-docker:latest
198-
```
199-
2. For non-ARM devices, execute the following.
200-
```
201-
docker run --name raspap -it -d --privileged --network=host -v /sys/fs/cgroup:/sys/fs/cgroup:ro --cap-add SYS_ADMIN ghcr.io/raspap/raspap-docker:latest
202-
```
195+
1. For ARM devices, the `cgroups` must be made writable.
196+
```
197+
docker run --name raspap -it -d --privileged --network=host --cgroupns=host -v /sys/fs/cgroup:/sys/fs/cgroup:rw --cap-add SYS_ADMIN ghcr.io/raspap/raspap-docker:latest
198+
```
199+
2. For non-ARM devices, execute the following.
200+
```
201+
docker run --name raspap -it -d --privileged --network=host -v /sys/fs/cgroup:/sys/fs/cgroup:ro --cap-add SYS_ADMIN ghcr.io/raspap/raspap-docker:latest
202+
```
203203

204-
With either of the above commands, you should see output as below followed by progress indicating the state of the various package components as they are downloaded to your system:
204+
With either of the above commands, you should see output as below followed by progress indicating the state of the various package components as they are downloaded to your system:
205205

206-
```
207-
Unable to find image 'ghcr.io/raspap/raspap-docker:latest' locally
208-
latest: Pulling from raspap/raspap-docker
209-
```
206+
```
207+
Unable to find image 'ghcr.io/raspap/raspap-docker:latest' locally
208+
latest: Pulling from raspap/raspap-docker
209+
```
210210

211-
When the container image download is completed, you may verify its operational state like so:
212-
```
213-
docker container ls
214-
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
215-
4257b8aa3c7e ghcr.io/raspap/raspap-docker:latest "/bin/bash -c '/home…" 32 minutes ago Up 32 minutes raspap
216-
```
211+
When the container image download is completed, you may verify its operational state like so:
212+
```
213+
docker container ls
214+
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
215+
4257b8aa3c7e ghcr.io/raspap/raspap-docker:latest "/bin/bash -c '/home…" 32 minutes ago Up 32 minutes raspap
216+
```
217+
218+
At this stage, the RaspAP application stack is running and you may access the web interface as you would normally. This will depend on the method you use to access your device, but is usually one of the following:
217219

218-
At this stage, the RaspAP application stack is running and you may access the web interface as you would normally. This will depend on the method you use to access your device, but is usually one of the following:
220+
- `http://raspberrypi.local`
221+
- `http://10.3.141.1`
222+
- `http://localhost`
219223

220-
- `http://raspberrypi.local`
221-
- `http://10.3.141.1`
222-
- `http://localhost`
224+
Take note that RaspAP and all its dependencies are wholly contained within the running Docker container. That is, the host system does not have any of the `apt` packages or application files used by RaspAP, unless you've explicitly installed them.
223225

224-
Take note that RaspAP and all its dependencies are wholly contained within the running Docker container. That is, the host system does not have any of the `apt` packages or application files used by RaspAP, unless you've explicitly installed them.
226+
---
225227

226228
## Tips and tricks
227229
The following section has some general advice that users of RaspAP's Docker container have found useful. If you have a tip or trick to contribute, feel free to join our [discussions](docker.md#discussions).

docs/dynamicdns.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ When you've completed your configuration, choose **Save settings** and **Start D
7474
## Troubleshooting
7575
Behind the scenes, the `ddclient` daemon will determine your external IP using the method you've defined and send this to your DDNS provider. Your provider will then update the IP address corresponding to the DNS "A" (or "address") record for your domain.
7676

77-
If your DDNS provider fails to report your current IP address, or you suspect there might be a problem with the `ddclient` configuration on your device, you may generate a detailed debug log.
77+
If your DDNS provider fails to report your current IP address, or you suspect there might be a problem with the `ddclient` configuration on your device, you may generate a detailed [debug log](troubleshooting.md#debug-log).
7878

7979
From the **Logging** tab, use the **Generate log** button to invoke the `ddclient` daemon and output a troubleshooting log:
8080

docs/faq.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ If you would like to see a new FAQ that you feel would assist other users, [star
3838
* [RaspAP web UI fails to start or unable to save settings.](#webfail)
3939
* [Why do I receive an 'Invalid CSRF token' message and a blank screen?](#token)
4040
* [My hotspot's SSID appears intermittently or clients are unable to connect.](#intermittent)
41+
* [Why do I not see any data in 'Data Usage' for one of my interfaces?](#data-usage)
4142

4243
## Integrations
4344
* [How do I integrate RaspAP with Pi-hole?](#pihole)
@@ -461,6 +462,14 @@ In the vast majority of reports like this, the ultimate cause is interference of
461462

462463
Other common forms of interference include nearby wireless networks. Survey your wireless neighborhood and take note of the channels (frequencies) being used to broadcast around you. Select an unused or less contested channel on RaspAP's **Hotspot > Basic** tab, and choose **Restart hotspot**. Enable logging on the **Logging** tab and monitor client connect activity.
463464

465+
## <a name="data-usage"></a>Why do I not see any data in 'Data Usage' for one of my interfaces?
466+
This is likely due to the the `vnstat` service not having enough data for the interface(s). Try running the command `vnstat`, and look for the interface that is missing data. If you do not see the interface, run the command `sudo vnstat -i wlan1 --live` (replace `wlan1` with the desired interface). If you see data, then add the interface with the following command: `sudo vnstat -i wlan1 --add`. You should see the following output:
467+
```
468+
Adding interface "wlan1" to database for monitoring.
469+
vnStat daemon will automatically start monitoring "wlan1" within 5 minutes if the daemon process is currently running.
470+
```
471+
You can leave the service running as is, or restart it using the command `sudo service vnstat restart`. Eventually, you should see data for the desired interface when running the `vnstat` command, and will eventually see data in the graph(s).
472+
464473
## <a name="pihole"></a>How do I integrate RaspAP with Pi-hole?
465474
There have been several discussions around integrating RaspAP with Pi-hole, with the end goal of hosting a complete AP and ad-blocker on a single device. Both projects rely on `dnsmasq`, so integration between them is tricky. There are now several options available to users of RaspAP.
466475

@@ -746,7 +755,7 @@ You may also use RaspAP's built-in WireGuard logging facility. On the **WireGuar
746755
output in the tab and look for any errors.
747756

748757
!!! tip "Tip"
749-
The debug log facility queries the `systemd` journal with a one-time execution of `journalctl --identifier wg-quick`. If you want to update this log output, simply enable the option again. You may also execute this command directly from the shell, if you wish.
758+
The [debug log](troubleshooting.md#debug-log) facility queries the `systemd` journal with a one-time execution of `journalctl --identifier wg-quick`. If you want to update this log output, simply enable the option again. You may also execute this command directly from the shell, if you wish.
750759

751760
Finally, you may check and verify the WireGuard config itself, including PostUp / PostDown rules, by executing `sudo cat /etc/wireguard/wg0.conf`.
752761

docs/issues.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ You can help us improve this project by accurately describing defects. To that e
1717

1818
1. Please read and follow the [Code of Conduct](https://github.com/RaspAP/raspap-webgui/blob/master/CODE_OF_CONDUCT.md).
1919
2. Provide useful detail to reproduce your issue. "Doesn't work" or "not working" is not a valid report. Here's an example [model bug report](https://github.com/RaspAP/raspap-webgui/issues/1451) and [feature request](https://github.com/RaspAP/raspap-webgui/issues/1498) [[2]](https://github.com/RaspAP/raspap-webgui/issues/1734).
20-
3. Generate a [debug log](ap-basics.md#debug-log) and upload the contents to [Pastebin](https://pastebin.com/).
20+
3. Generate a [debug log](troubleshooting.md#debug-log) and upload the contents to a text sharing service, like [Pastebin](https://pastebin.com/).
2121
4. If an issue is unclear or needs further information, it will be labeled with `question` and `awaiting-user`.
2222
5. Issues that becomes stale due to inactivity are automatically managed by stale-bot.
2323

0 commit comments

Comments
 (0)