- Introduced a new flex utility class `.buttons-no-margin` in default-base.css to manage button spacing effectively.
- Updated CreateDocker.php to wrap checkbox inputs in flex containers for improved alignment and spacing.
- Adjusted AddContainer.css to refine the max-width of span elements and commented out unused styles for better maintainability.
- This change continues the effort to enhance visual consistency across the plugin.
- Updated button and status message structure in ArrayOperation.page, Disk.page, and Share.page for improved layout consistency.
- Adjusted the placement of elements in CreateDocker.php to enhance visual structure.
- This change continues the effort to enhance visual consistency across the plugin.
- Prioritize searching for Exit Nodes through the container before using the Tailscale plugin if installed.
This is necessary to display Exit Nodes from Mullvad for specific containers.
- Remove exclusion from share directory from .gitignore
- Add Unraid specific container hook script
- Add Tailscale icon
- Add helptexts for Tailscale
This integration allows users to easily make use of Tailscale in their Docker containers by just clicking a switch on the Docker page.
The Tailscale plugin itself is not needed for this integration but for the best user experience it is strongly recommended to install the Tailscale plugin from Community Applications.
How this works:
1. Configure Tailscale in the Docker template in Unraid and click Apply
2. Unraid will extract the default Entrypoint and CMD from the container
3. The hook script will be mounted in the container to /opt/unraid/tailscale-hook and the Entrypoint from the container will be modified to /opt/unraid/tailscale-hook
4. The original Entrypoint and CMD from the container, alongside with the other necessary variables for Tailscale will be passed over to the container
5. When the container starts the hook script will be executed, install dependencies (currently Alpine, Arch and Debian based containers are supported), download the newest version from Tailscale and run it
6. After the first start with Tailscale the container will halt and wait for the user to click on the link which is presented in the log from the container to add the container to your Tailnet
(alternatively one could also open up a Console from the container and issue `tailscale status` which will also present the link to authenticate the container to your Tailnet)
7. The hook script will pass over the default Entrypoint and CMD which was extracted in step 2 and the container will start as usual
These steps will be repeated after Container update, force update from the Docker page and if changes in the template are made.
If the container is only Started/Restarted the hook script will detect that Tailscale is installed and only start it, if one wants to update Tailscale inside the container simply hit `force update` on the Docker page in Unraid (with Advanced View Enabled)
The integration will show a Tailscale icon on the Docker page for each Tailscale enabled Container and show some basic information from the container (Installed Tailscale Version, Online Status, Hostname, Main Relay, IPs, Exit Node, Auth Expiry,...)
When Serve or Funnel is enabled it will also generate `Tailscale WebUI` in the drop down for the container which you can open up if Tailscale is installed from the device you are accessing Unraid.
Instead of styling defined inside a page file, these settings are now kept in a dedicated css file. This has several advantages:
- It comes much easier to maintain styling, all css files are easy to find and update
- Browser can cache css files, which may improve page loading time
- Separate theme css files exist, no more need to make selection by coding
- This PR is a 1-to-1 move of existing inline styling to css files
- In future more optimization can be made by consolidating css files