Commit Graph

69 Commits

Author SHA1 Message Date
Christoph Hummer
435b8be89e Remove old variable 2024-10-21 23:16:53 +02:00
Christoph Hummer
68910922f9 Fix variable 2024-10-21 23:13:23 +02:00
root
e289d2ad7c Initial Tailscale Docker integration
- 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.
2024-10-21 23:07:11 +02:00
Tom Mortensen
59518d9672 Revert "fix: prevent deleting containers that are assigned as a network #1876" 2024-10-17 13:19:38 -07:00
tom mortensen
fcbc8f700e Merge pull request #1876 from dkaser/check-container-networks
fix: prevent deleting containers that are assigned as a network
2024-10-01 14:00:08 -07:00
Derek Kaser
6fd88575b2 fix: prevent deleting containers that are assigned as a network 2024-10-01 04:21:51 +00:00
tom mortensen
c3dd62f1d5 Merge pull request #1874 from dlandon/container_device_not_showing
Container device not showing in Dockerman.
2024-09-27 09:19:24 -07:00
dlandon
828cd7b747 Container device not showing in Dockerman. 2024-09-26 09:13:42 -05:00
Christoph Hummer
020ed9a07f Small fix for 3rd party containers
- Fix orange text "not available" to use the default text colour.
2024-09-23 21:19:04 +02:00
tom mortensen
9c9c79b1b3 Merge pull request #1857 from ich777/ich777-docker-container-network
Allow users to select Container networks in the WebUI
2024-09-16 14:55:54 -07:00
Christoph Hummer
b62c8f5a12 Update Helpers.php 2024-09-09 17:09:15 +02:00
Christoph Hummer
e9faee0d27 Update CreateDocker.php 2024-09-09 17:07:43 +02:00
Christoph Hummer
07d02f579f Add files via upload 2024-09-02 17:48:25 +02:00
Christoph Hummer
49b82d0eb8 Make sure to not show internal IP from stopped containers 2024-08-28 20:33:25 +02:00
tom mortensen
24fce7582c Merge pull request #1828 from mtongnz/network-display-improvements
Network info display improvements (part 2)
2024-08-17 08:28:45 -07:00
mtongnz
c1b2bb7435 fix: better display of container LAN IP for ipvlan & macvlan 2024-08-16 18:20:10 +12:00
mtongnz
840e19d322 fix: some networks not showing 2024-08-16 17:35:22 +12:00
Matt
1c019c8f08 fix: display LAN:IP for multiple external networks 2024-08-15 18:50:44 +12:00
Matt
8d76d6f1cc fix: display multiple networks for all types
This commit ensures containers with multiple networks are always displayed.
Previously, networks connected to containers (docker network connect...) don't show
2024-08-15 15:55:01 +12:00
tom mortensen
c9333ea955 Merge pull request #1616 from mtongnz/network-display-improvements
Network info display improvements
2024-08-08 23:16:15 -07:00
Christoph Hummer
17909f889e Fix PHP Warning (#3)
- Fix PHP Warnings on Add Container page
2024-08-08 20:32:38 +12:00
Christoph Hummer
8cabad6f0d Changes (#2)
* Changes

- Revert commit #ed5fe721d9cdfeb65148a5f12eebdf35729e1dfb
- Fix php errors

* Update DockerContainers.page

- Change `External IP:Port` to `LAN IP:Port`
2024-08-08 16:58:58 +12:00
Christoph Hummer
9c2aa45751 Minor improvements (#1)
* few changes, please test

* Change weird formatting

* Another formatting change

* Fix for `container:` networks

* Hide IPs/Ports when container is not running

* WebUI fix

- generate WebUI links correctly
- don't show WebUI from containers which use a `container:` network
2024-08-03 17:39:00 +12:00
mtongnz
27047c8832 fix: improve IP & port display further as per suggestions 2024-07-28 11:18:31 +12:00
mtongnz
4b3e8f2d46 fix: handle webUI link generation correctly 2024-07-20 13:23:56 +12:00
mtongnz
54a6e3dd13 fix: better display of ip & ports to avoid beginner confusion - from suggestions by @ich777 2024-07-20 12:04:30 +12:00
dlandon
ed9b8322d4 Fix clobbering CAs $cfg variable. 2024-07-09 14:57:58 -05:00
dlandon
1524f2d69a Add "Docker PID Limit" to limit docker container PIDs. 2024-07-05 03:47:51 -05:00
mtongnz
ffabb996fc fix: external ports not showing for non-bridge networks 2024-04-06 16:38:02 +13:00
Matt
4a4444229e Apply suggestions from code review
Co-authored-by: FunkeCoder23 <12570656+FunkeCoder23@users.noreply.github.com>
2024-04-06 13:04:22 +13:00
ljm42
537149f206 Use Curl for network connectivity checks 2024-03-24 14:59:03 -07:00
ljm42
cb84d60e00 Remove special handling for file_get_contents(), use libcurl instead 2024-03-19 11:52:59 -07:00
ljm42
78dcc575d6 tidy 2024-03-18 15:12:31 -07:00
ljm42
ffcb5b11a1 Remove special handling for libcurl, use environment variables instead 2024-03-18 14:44:51 -07:00
ljm42
6d379a4dd6 Add outgoing proxy support 2024-03-17 20:23:51 -07:00
Robin Kluth
a702f65759 Fix getDockerJSON: If docker comms fail, return empty array (as expsected by everyone) instead if null. Fixes foreach() argument must be of type array|object, null given 2024-02-28 06:34:06 +01:00
tom mortensen
cfe667bc38 Merge pull request #1633 from Squidly271/patch-23
Docker: Add in AI as a category
2024-02-21 09:01:51 -08:00
Squidly271
b85cd55423 Update CreateDocker.php 2024-02-19 21:00:27 -05:00
Squidly271
e774c8a6a5 Docker ignore empty paths 2024-02-17 07:13:16 -05:00
tom mortensen
3b60e15ef0 Merge pull request #1582 from mtongnz/manager-fixes
Remove update buttons for non-dockerman containers
2024-02-15 09:37:53 -08:00
Squidly271
df4c1d72bd PHP8 Fix 2024-02-10 15:30:41 -05:00
ljm42
0287d8dfac my_logger: make the tag optional 2024-02-02 13:02:40 -07:00
ljm42
305e4648aa logger - ensure params are escaped 2024-02-01 15:49:17 -07:00
mtongnz
083cd984ea style: fix bizzare formatting glitches 2024-01-12 16:09:52 +13:00
mtongnz
3dda97319d fix: don't return template for containers not managed by dockerman 2024-01-12 15:51:04 +13:00
mtongnz
064cac1110 fix: suppress error on template fetch 2024-01-12 15:46:43 +13:00
mtongnz
3d1b53d0ea style: line up spacing 2024-01-12 15:45:53 +13:00
mtongnz
61e99a390e fix: docker network info display (non dockerman & multiple networks) 2024-01-12 15:45:04 +13:00
mtongnz
37f1941027 fix: remove update buttons for non-dockerman containers 2024-01-12 15:25:43 +13:00
Reinhard Dietl
aec8f47942 Allow Docker image name to contain custom registry with a port specification. 2023-12-19 12:14:09 +01:00