Setting Up RaspAP with Docker
Overview
This document provides step-by-step instructions for setting up RaspAP on a Raspberry Pi using Docker, suitable for ARM devices.
It covers modifying the Docker Compose configuration, launching the service, and accessing the RaspAP interface.
Requirements
Raspberry Pi with ARM architecture
Docker and Docker Compose installed
Internet connection
Installation Steps
Clone the Repository
Open a terminal and navigate to your home directory.
Clone the RaspAP Docker repository:
git clone https://github.com/RaspAP/raspap-docker.git
Move into directory:
cd raspap-docker
Modify Docker Compose Configuration
Open the docker-compose.yaml
file in a text editor or via Visual Studio Code if you have SSH'ed into your Raspberry Pi.
nano docker-compose.yaml
Uncomment the cgroup: host
line under the raspap
service to enable ARM device support:
version: "3.8"
services:
raspap:
container_name: raspap
image: ghcr.io/raspap/raspap-docker:latest
ports:
- "80:80"
privileged: true
network_mode: host
cgroup: host
environment:
- RASPAP_SSID=raspap-webgui
- RASPAP_SSID_PASS=ChangeMe
- RASPAP_COUNTRY=GB
- RASPAP_WEBGUI_USER=admin
- RASPAP_WEBGUI_PASS=secret
- RASPAP_WEBGUI_PORT=80
cap_add:
- SYS_ADMIN
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
restart: unless-stopped
Notes
Removed the commented-out
build: .
line since you are using the pre-built image.Updated the port mapping to
"
80:80
"
to match theRASPAP_WEBGUI_PORT
environment variable.Added
cgroup: host
to enable the workaround for ARM devices as mentioned in the README.Ensured that the
/sys/fs/cgroup
volume is mounted with:rw
to make it writable.Save the changes and exit the editor (in nano, press
Ctrl+O
to save andCtrl+X
to exit).
Set up IP Tables (not necessary)
sudo iptables -I DOCKER-USER -i wlan0 -o eth0 -j ACCEPT
sudo iptables -t nat -C POSTROUTING -o eth0 -j MASQUERADE || sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -C FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT || sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -C FORWARD -i wlan0 -o eth0 -j ACCEPT || sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo iptables-save
Launch RaspAP using Docker Compose
Ensure you use Docker's recommended docker compose
command (not docker-compose
):
docker compose up -d
The terminal will display the progress as Docker pulls the necessary images and starts the RaspAP container.

Verify Container Launch
Check that the Docker container is running correctly
docker container ls
You should see the
raspap
container listed as running.
Accessing the RaspAP Interface
Access the RaspAP web interface through the Raspberry Pi URL:

Sign in using the Username and Password from the Docker Compose file:
Username: your username
Password: secret
You will now have access to RaspAP
Advanced Usage
Docker Run Alternative
If you prefer not to use Docker Compose, you can directly run the Docker container:
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
This command sets up RaspAP with the necessary privileges and network configuration.
Using Container Registry
Alternatively, use the pre-built Docker image from the GitHub Container registry without cloning the repository:
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
Troubleshooting
To view logs from the RaspAP container, use:
docker logs raspap
Check Docker daemon logs for more detailed troubleshooting:
journalctl -xu docker.service
This documentation is designed to provide clear, structured guidance for users setting up RaspAP on a Raspberry Pi using Docker, ensuring an accessible and straightforward setup process.
Last updated
Was this helpful?