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
The following example uses **Traefik** as a reverse proxy:
49
85
50
86
```yaml
51
87
services:
@@ -78,13 +114,15 @@ networks:
78
114
external: true
79
115
```
80
116
81
-
Let's use jellyfin for example
117
+
Example service configuration using **Jellyfin**:
82
118
83
119
```yaml
84
120
file not found: /home/runner/work/wol-redirect/wol-redirect/examples/jellyfin.yaml
85
121
```
86
122
87
-
### Configuration
123
+
## Configuration
124
+
125
+
Basic service-to-host mappings:
88
126
89
127
```json
90
128
{
@@ -106,7 +144,7 @@ file not found: /home/runner/work/wol-redirect/wol-redirect/examples/jellyfin.ya
106
144
}
107
145
```
108
146
109
-
`.env`
147
+
Environment variables:
110
148
111
149
```dotenv
112
150
CLIENT_ID=CLIENT_ID
@@ -123,49 +161,120 @@ SESSION_KEY=MY_SESSION_KEY # generate this with openssl
123
161
SCOPE=openid
124
162
```
125
163
126
-
#### PVE (VMs + LXCs)
164
+
## Advanced Setups
165
+
166
+
WoL Redirect supports two main scenarios depending on how your services are hosted.
167
+
168
+
## Virtualized Hosts (VMs, LXCs, Hypervisors)
127
169
128
-
If you are trying to wakeup a host running PVE, you will probably want to wakeup LXCs or VMs too.
129
-
Sadly LXCs (and VMs) don't have `Wake-on-LAN` functionalities.
130
-
For that you will need [WoL PVE](https://github.com/codeshelldev/wol-pve)
170
+
If your services run inside virtual machines or containers managed by a hypervisor (for example Proxmox VE, ..., or similar platforms), you may want to wake up the physical host **and** start specific VMs or LXCs.
171
+
172
+
Since VMs and LXCs do not support Wake-on-LAN directly, an external helper is required.
173
+
174
+
This setup requires an additional helper to be installed on the hypervisor: [**WoL VE**](https://github.com/codeshelldev/wol-ve)
175
+
176
+
Example mapping configuration:
131
177
132
178
```json
133
-
file not found: /home/runner/work/wol-redirect/wol-redirect/examples/config/mapping-pve.json
179
+
{
180
+
"hosts": {
181
+
"hypervisor": {
182
+
"ip": "192.168.1.1",
183
+
"mac": "XX:XX:XX:XX:XX:XX",
184
+
"startupTime": 40
185
+
},
186
+
"lxc": {
187
+
"ip": "192.168.1.1",
188
+
"id": "100",
189
+
"startupTime": 10
190
+
},
191
+
"vm": {
192
+
"ip": "192.168.1.1",
193
+
"id": "200",
194
+
"startupTime": 10
195
+
}
196
+
},
197
+
"routes": {
198
+
"hypervisor-lxc": {
199
+
"route": ["hypervisor", "lxc"]
200
+
}
201
+
},
202
+
"records": {
203
+
"*.mydomain.com": "hypervisor-lxc"
204
+
}
205
+
}
134
206
```
135
207
136
-
#### Docker
208
+
This approach is applicable to:
209
+
210
+
- Proxmox VE
211
+
- Other hypervisors with API-controlled VM/container startup
212
+
- Mixed virtualization environments
213
+
214
+
## Docker Hosts (Non-Virtualized)
215
+
216
+
If Docker is running directly on a physical server, you may want to:
217
+
218
+
- Wake up the server only when needed
219
+
- Start specific Docker containers on demand
137
220
138
-
If you are running docker on your resource-hungry server, you might want to start docker-containers only if needed.
139
-
For this to work you will need [WoL Dockerized](https://github.com/codeshelldev/wol-dockerized)
221
+
For this use case, use [**WoL Dockerized**](https://github.com/codeshelldev/wol-dockerized).
222
+
223
+
Example mapping configuration:
140
224
141
225
```json
142
-
file not found: /home/runner/work/wol-redirect/wol-redirect/examples/config/mapping-docker.json
226
+
{
227
+
"hosts": {
228
+
"docker-server": {
229
+
"ip": "192.168.5.10",
230
+
"docker": true
231
+
}
232
+
},
233
+
"routes": {
234
+
"docker": {
235
+
"route": ["docker-server"]
236
+
}
237
+
},
238
+
"records": {
239
+
"jellyfin.mydomain.com": "docker",
240
+
"*.mydomain.com": "docker"
241
+
}
242
+
}
143
243
```
144
244
145
-
#### Or both
245
+
## Combined Setup (Virtualization + Docker)
246
+
247
+
If your environment uses both virtualization and Docker (for example Docker running inside VMs, or mixed workloads), you can combine both approaches.
248
+
249
+
Example mapping configuration:
146
250
147
251
```json
148
-
file not found: /home/runner/work/wol-redirect/wol-redirect/examples/config/mapping-pve-docker.json
252
+
file not found: /home/runner/work/wol-redirect/wol-redirect/examples/config/virtual-docker.mapping.json
149
253
```
150
254
151
-
_You will need both [WoL PVE](https://github.com/codeshelldev/wol-pve) and [WoL Dockerized](https://github.com/codeshelldev/wol-dockerized)_
0 commit comments