-
Notifications
You must be signed in to change notification settings - Fork 2
Installation
Squishy is designed to be run in Docker, which simplifies installation and ensures compatibility across different systems. This guide will walk you through the installation process.
- A Linux-based system with Docker and Docker Compose installed
- Sufficient storage space for your media and transcoded files
- For hardware acceleration: A compatible GPU with proper drivers installed
-
Clone the repository:
git clone https://github.com/cleverdevil/squishy.git cd squishy -
Modify the Docker Compose file:
# Create a copy of the example file cp docker-compose.yml.example docker-compose.yml # Edit the file with your preferred editor nano docker-compose.yml
-
Configure the Docker Compose file:
- Uncomment and edit the media path volume mounts for both Squishy and your media server (Jellyfin or Plex)
- Uncomment the appropriate GPU/hardware acceleration settings if needed
- Choose either Jellyfin or Plex (comment out the one you don't use)
-
Start the containers:
docker compose up --build
-
Access Squishy:
- Open your browser and navigate to
http://your-host:5101 - Follow the onboarding wizard to complete setup
- Open your browser and navigate to
Squishy currently supports VA-API for hardware accelerated transcoding. Support for other acceleration methods could be added if there is a strong demand from users.
The provided Docker setup includes VA-API configuration with these key components:
-
Required packages in the Dockerfile:
-
libva-dev- Main VA-API implementation -
va-driver-all- All available VA-API drivers -
mesa-va-drivers- Mesa VA-API drivers -
intel-media-va-driver- Intel Media Driver for VAAPI (iHD) -
i965-va-driver- Intel i965 driver for older GPUs
-
-
Device mappings in docker-compose.yml:
devices: - /dev/dri/renderD128:/dev/dri/renderD128 - /dev/dri/card0:/dev/dri/card0
-
Environment variables:
environment: - LIBVA_DRIVER_NAME=iHD - LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
-
Group permissions for GPU access:
group_add: - video - "105" # Render group GID (may vary by system)
If you're having issues with hardware acceleration:
-
Check if your GPU is accessible inside the container:
docker exec -it squishy ls -la /dev/dri -
Verify VA-API is working:
docker exec -it squishy vainfo --display drm --device /dev/dri/renderD128 -
Check the driver being used:
- For Intel GPUs, try both
i965andiHDdrivers by modifying theLIBVA_DRIVER_NAMEenvironment variable - For modern Intel GPUs (10th gen+),
iHDis recommended - For older Intel GPUs,
i965might work better
- For Intel GPUs, try both
-
Examine Squishy logs for hardware acceleration detection:
docker logs squishy | grep -i "hardware"
-
Adjust permissions and group IDs if necessary:
- The render device group ID might differ on your system (typically 105 or 109)
- Ensure the user in the container has access to the required groups
For advanced hardware acceleration setup, you may need to modify the entrypoint.sh script which automatically configures hardware acceleration on container startup:
- The script detects available DRI devices
- It adjusts group permissions for proper GPU access
- It tests both iHD and i965 drivers to determine compatibility
- It configures the appropriate environment variables for your hardware
These configurations can be further customized in your environment depending on your specific hardware setup.
Squishy: Media Transcoding Made Simple - GitHub Repository - Report an Issue