Skip to content

RaspAP/raspap-docker

Repository files navigation

raspap-docker-repository

raspap-docker

A community-led docker container for RaspAP. Read the documentation or jump straight into the usage notes.

Usage

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

Web GUI should be accessible on https://localhost by default

Workaround for ARM devices

To use this container on ARM devices you have to make cgroups writable:

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

Web GUI should be accessible on https://localhost by default

Allow WiFi-clients to connect to LAN and internet

Because of docker isolation and security defaults the following rules must be added on the docker host:

iptables -I DOCKER-USER -i src_if -o dst_if -j ACCEPT
iptables -t nat -C POSTROUTING -o eth0 -j MASQUERADE || iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -C FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT || iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -C FORWARD -i wlan0 -o eth0 -j ACCEPT || iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
iptables-save

Deploying using docker-compose

Use the docker-compose.yaml file to deploy RaspAP using docker compose. Do not use docker-compose but rather docker compose. For ARM devices, be sure to uncomment the cgroup: host line before executing docker compose:

git clone https://github.com/RaspAP/raspap-docker.git
cd raspap-docker
docker compose up -d

Environment Variables

Several environment variables are made available in this docker image to aid in configuration.

Environment Variable Description Default
RASPAP_SSID The SSID name raspap-webgui
RASPAP_SSID_PASS The SSID password ChangeMe
RASPAP_COUNTRY The SSID country code GB
RASPAP_WEBGUI_USER The admin username for the RaspAP user interface admin
RASPAP_WEBGUI_PASS The admin password for the RaspAP user interface secret
RASPAP_WEBGUI_PORT The RaspAP web user interface port 80

Some further configuration is also possible through the use of the following prefixed environment variables, in the form RASAPAP_[target]_[key]

Environment Variable Prefix Target File
RASPAP_hostapd_ /etc/hostapd/hostapd.conf
RASPAP_raspap_ /etc/dnsmasq.d/090_raspap.conf
RASPAP_wlan0_ /etc/dnsmasq.d/090_wlan0.conf

For example, RASPAP_hostapd_driver would set the driver value in /etc/hostapd/hostapd.conf