====== Running WolfRecorder in Docker ======
**Important:** Running WolfRecorder inside a Docker container is **not recommended for production use**.
This setup is provided as a proof of concept and has not been tested for stability or security.
===== Requirements =====
* Docker
* Docker Compose
* Git
===== Running from Docker Hub =====
1. Create **docker-compose.yml** file with following content
services:
wolfrecorder:
image: nightflyza/wolfrecorder:latest
container_name: wolfrec
ports:
- "9090:80"
volumes:
- wr_storage:/wrstorage
- wr_web:/var/www/html/wr
- wr_db:/var/lib/mysql
- wr_bin:/data/bin
restart: unless-stopped
volumes:
wr_storage:
wr_web:
wr_db:
wr_bin:
2. Just pull and run container with single command
docker compose up -d
===== Building your own image using composer =====
1. Clone the repository:
git clone https://github.com/nightflyza/wolfrecorder-docker.git
cd wolfrecorder-docker
2. Build the Docker image (with cache disabled):
docker compose build --no-cache
3. Start the container in detached mode:
docker compose up -d
===== Building without compose =====
In case if you dont want use compose in some reasons(?) you can build all manually
docker build -t wolfrecorder:latest .
docker volume create wr_storage
docker volume create wr_web
docker volume create wr_db
docker volume create wr_bin
and run first time with
docker run -d \
--name wolfrec \
-p 9090:80 \
-v wr_storage:/wrstorage \
-v wr_web:/var/www/html/wr \
-v wr_db:/var/lib/mysql \
-v wr_bin:/data/bin \
--restart unless-stopped \
wolfrecorder:latest
starting container
docker start wolfrec
stopping container
docker stop wolfrec
===== Managing the Container =====
To stop the container:
docker compose down
To restart the running container:
docker compose restart
To access container shell:
docker exec -it wolfrec bash
Check the container logs:
docker logs -f wolfrec
The web interface will be available on port **9090**
===== Notes =====
* Web interface: http://localhost:9090 or http://host_ip:9090
* Persistent data is stored in Docker volumes as defined in docker-compose.yml.
* The entrypoint script initializes the database and configuration files automatically.
* Cron jobs and services are managed via supervisord inside the container.