3627b39af4
* Docker environment fixes * New theme for web UI * Apply breaking wrap to filenames only * Reduce font sizes, whitespace and padding * Right align action fields/buttons * Improve mobile header, hide superfluous UI elements when logged out, drop placeholders from login labels, various other adjustments * Force footer to bottom of screen * Show manual link to logged out users * Reduce header text size on desktop * Fix incorrect selector ID * Fix selector referencing old class name * Fix right-aligned message when images table empty * Add CSS linter/auto-formatter * Run Stylelint + Prettier against modern theme CSS * Select default theme based on browser’s user agent * Style inputs on mobile/tablet devices * Fixes for Safari 14 on iOS + iPad OS * Explicitly define mobile browser support, switch to bare ua-parser without user-agent wrapper * Add LICENSE file for modern theme icons * Improve theme selection query string/field naming. * Remove patch workaround from Docker build * Update log level for UAs to info * Move Bootstrap Reboot CSS to CDN * Account for LUN column in attached devices table * Prevent wrapping of config forms on small viewports * Fix Stylelint issues * Auto-format CSS with Prettier |
||
---|---|---|
.. | ||
pytest | ||
rascsi | ||
rascsi-web | ||
volumes | ||
docker-compose.override.yml.example | ||
docker-compose.yml | ||
README.md |
Docker Environment for Development and Testing
⚠️ Important: The Docker environment is unable to connect to the RaSCSI board and is intended for development and testing purposes only. To setup RaSCSI on a Raspberry Pi refer to the setup instructions on the wiki instead.
Introduction
This documentation currently focuses on using Docker for developing and testing the web UI.
Additions, amendments and contributions for additional workflows are most welcome.
Getting Started
The easiest way to launch a new environment is to use Docker Compose.
cd docker
docker compose up
Containers will be built and started for the RaSCSI server and the web UI.
The web UI can be accessed at:
To stop the containers, press Ctrl + C, or run docker compose stop
from another terminal.
Environment Variables
The following environment variables are available when using Docker Compose:
Environment Variable | Default |
---|---|
OS_DISTRO |
debian |
OS_VERSION |
buster |
OS_ARCH |
amd64 |
WEB_HTTP_PORT |
8080 |
WEB_HTTPS_PORT |
8443 |
WEB_LOG_LEVEL |
info |
RASCSI_HOST |
rascsi |
RASCSI_PORT |
6868 |
RASCSI_PASSWORD |
[None] |
RASCSI_LOG_LEVEL |
debug |
Examples:
Run Debian "bullseye":
OS_VERSION=bullseye docker compose up
Start the web UI with the log level set to debug:
WEB_LOG_LEVEL=debug docker compose up
Volumes
When using Docker Compose the following volumes will be mounted automatically:
Local Path | Container Path |
---|---|
docker/volumes/images/ | /home/pi/images/ |
docker/volumes/config/ | /home/pi/.config/rascsi/ |
How To
Rebuild Containers
You should rebuild the container images after checking out a different version of
RaSCSI or making changes which affect the environment at build time, e.g.
easyinstall.sh
.
docker compose up --build
Open a Shell on a Running Container
Run the following command, replacing [CONTAINER]
with rascsi
or rascsi_web
.
docker compose exec [CONTAINER] bash
Setup Live Editing for the Web UI
Use a docker-compose.override.yml
to mount the local python
directory to
/home/pi/RASCSI/python/
in the rascsi_web
container.
Any changes to *.py files on the host computer (i.e. in your IDE) will trigger the web UI process to be restarted in the container.
Example:
services:
rascsi_web:
volumes:
- ../python:/home/pi/RASCSI/python:delegated
Connect the Web UI to a Real RaSCSI
This can be useful for testing, but there are some caveats, e.g. the RaSCSI and the
web UI will be accessing separate images
directories.
RASCSI_HOST=foo RASCSI_PASSWORD=bar docker compose up