You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+40Lines changed: 40 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,6 +62,43 @@ If a mod requires additional packages to be installed, each container will still
62
62
63
63
Note that the Modmanager container itself does not support applying mods *or* custom files/services.
64
64
65
+
### Multiple Hosts
66
+
67
+
>[!WARNING]
68
+
>Make sure you fully understand what you're doing before you try and set this up as there are lots of ways it can go wrong.
69
+
70
+
Modmanager can query & download mods for remote hosts, as well as the one on which it is installed. At a very basic level if you're just using the DOCKER_MODS env and not the docker integration, simply mount the `/modcache` folder on your remote host(s), ensuring it is writeable by all participating containers.
71
+
72
+
If you are using the docker integration, our only supported means for connecting to remote hosts is [our socket proxy container](). Run an instance on each remote host:
73
+
74
+
>[!WARNING]
75
+
>DO NOT expose a socket proxy to your LAN that allows any write operations (`POST=1`, `ALLOW_RESTART=1`, etc) or that exposes any more information than is absolutely necessary. NEVER expose a socket proxy to your WAN.
76
+
77
+
```yml
78
+
modmanager-dockerproxy:
79
+
image: lscr.io/linuxserver/socket-proxy:latest
80
+
container_name: modmanager-dockerproxy
81
+
environment:
82
+
- CONTAINERS=1
83
+
- POST=0
84
+
volumes:
85
+
- /var/run/docker.sock:/var/run/docker.sock:ro
86
+
tmpfs:
87
+
- /run:exec
88
+
ports:
89
+
- 2375:2375
90
+
restart: unless-stopped
91
+
read_only: true
92
+
```
93
+
94
+
And then add it to the `DOCKER_MODS_EXTRA_HOSTS` env using the full protocol and port, e.g.
As above you will need to mount the `/modcache` folder on your remote host(s), ensuring it is writeable by all participating containers.
101
+
65
102
### Security considerations
66
103
67
104
Mapping `docker.sock` is a potential security liability because docker has root access on the host and any process that has full access to `docker.sock` would also have root access on the host. Docker api has no built-in way to set limitations on access, however, you can use a proxy for the `docker.sock` via a solution like [our docker socket proxy](https://github.com/linuxserver/docker-socket-proxy), which adds the ability to limit access. Then you would just set `DOCKER_HOST=` environment variable to point to the proxy address.
Copy file name to clipboardExpand all lines: readme-vars.yml
+40Lines changed: 40 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -66,6 +66,43 @@ full_custom_readme: |
66
66
67
67
Note that the Modmanager container itself does not support applying mods *or* custom files/services.
68
68
69
+
### Multiple Hosts
70
+
71
+
>[!WARNING]
72
+
>Make sure you fully understand what you're doing before you try and set this up as there are lots of ways it can go wrong.
73
+
74
+
Modmanager can query & download mods for remote hosts, as well as the one on which it is installed. At a very basic level if you're just using the DOCKER_MODS env and not the docker integration, simply mount the `/modcache` folder on your remote host(s), ensuring it is writeable by all participating containers.
75
+
76
+
If you are using the docker integration, our only supported means for connecting to remote hosts is [our socket proxy container](). Run an instance on each remote host:
77
+
78
+
>[!WARNING]
79
+
>DO NOT expose a socket proxy to your LAN that allows any write operations (`POST=1`, `ALLOW_RESTART=1`, etc) or that exposes any more information than is absolutely necessary. NEVER expose a socket proxy to your WAN.
80
+
81
+
```yml
82
+
modmanager-dockerproxy:
83
+
image: lscr.io/linuxserver/socket-proxy:latest
84
+
container_name: modmanager-dockerproxy
85
+
environment:
86
+
- CONTAINERS=1
87
+
- POST=0
88
+
volumes:
89
+
- /var/run/docker.sock:/var/run/docker.sock:ro
90
+
tmpfs:
91
+
- /run:exec
92
+
ports:
93
+
- 2375:2375
94
+
restart: unless-stopped
95
+
read_only: true
96
+
```
97
+
98
+
And then add it to the `DOCKER_MODS_EXTRA_HOSTS` env using the full protocol and port, e.g.
As above you will need to mount the `/modcache` folder on your remote host(s), ensuring it is writeable by all participating containers.
105
+
69
106
### Security considerations
70
107
71
108
Mapping `docker.sock` is a potential security liability because docker has root access on the host and any process that has full access to `docker.sock` would also have root access on the host. Docker api has no built-in way to set limitations on access, however, you can use a proxy for the `docker.sock` via a solution like [our docker socket proxy](https://github.com/linuxserver/docker-socket-proxy), which adds the ability to limit access. Then you would just set `DOCKER_HOST=` environment variable to point to the proxy address.
0 commit comments