Skip to content

Commit feaa55f

Browse files
committed
2 parents 5c37482 + 44b04f0 commit feaa55f

21 files changed

Lines changed: 1555 additions & 679 deletions

Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ FROM node:alpine
22

33
WORKDIR /app
44

5+
ENV NODE_ENV=production
6+
57
COPY . .
68

79
RUN npm install
810

9-
CMD ["npm", "start"]
11+
CMD ["npm", "start", "-s"]

README.md

Lines changed: 8 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22

33
WoL Redirect is a Docker Container with graphical interface, which allows users to wake up their services.
44
Integrates with all of the WoL Containers.
5-
5+
s
66
_Well, except for meteorite_
77

88
## Installation
99

1010
Get the latest `docker-compose.yaml` file:
1111

1212
```yaml
13-
---
1413
services:
1514
wol:
1615
container_name: wol-client
@@ -50,7 +49,6 @@ In this example we'll be using traefik:
5049

5150
```yaml
5251
services:
53-
# ...
5452
wolred:
5553
container_name: wol-redirect
5654
image: ghcr.io/codeshelldev/wol-redirect:latest
@@ -60,12 +58,13 @@ services:
6058
labels:
6159
- traefik.enable=true
6260
- traefik.http.routers.wolred-https.rule=Host(`wol-redirect.mydomain.com`)
61+
- traefik.http.routers.wolred-https.priority=10
6362
- traefik.http.routers.wolred-https.entrypoints=websecure
6463
- traefik.http.routers.wolred-https.tls=true
6564
- traefik.http.routers.wolred-https.tls.certresolver=cloudflare
6665
- traefik.http.routers.wolred-https.service=wolred-svc
6766

68-
- traefik.http.services.wolred-svc.loadbalancer.server.port=80
67+
- traefik.http.services.wolred-svc.loadbalancer.server.port=6789
6968
- traefik.docker.network=proxy
7069
volumes:
7170
- ./config:/app/config:ro
@@ -82,37 +81,7 @@ networks:
8281
Let's use jellyfin for example
8382
8483
```yaml
85-
http:
86-
routers:
87-
jellyfin:
88-
entrypoints:
89-
- "websecure"
90-
rule: "Host(`jellyfin.mydomain.com`)"
91-
tls:
92-
certResolver: cloudflare
93-
service: jellyfin-failover
94-
95-
services:
96-
jellyfin-failover:
97-
failover:
98-
service: jellyfin-svc@file
99-
fallback: wolred-svc@docker # the name of your wol redirect service
100-
jellyfin-svc:
101-
loadBalancer:
102-
serversTransport: transport
103-
healthCheck:
104-
# host your jellyfin instance with an additional port 12345, which is used for healthchecks
105-
# change this to port 80 / 443 if you are not hosting the docker host on top of PVE with wol-pve
106-
port: 12345
107-
interval: 5s
108-
timeout: 3s
109-
scheme: http
110-
servers:
111-
- url: "https://jellyfin.server2.mydomain.com" # actual url of jellyfin
112-
113-
serversTransports:
114-
transport:
115-
insecureSkipVerify: true
84+
file not found: /home/runner/work/wol-redirect/wol-redirect/examples/jellyfin.yaml
11685
```
11786
11887
### Configuration
@@ -123,7 +92,7 @@ http:
12392
"server-1": {
12493
"ip": "192.168.1.1",
12594
"mac": "XX:XX:XX:XX:XX:XX",
126-
"startupTime": 40
95+
"startupTime": 60
12796
}
12897
},
12998
"routes": {
@@ -161,35 +130,7 @@ Sadly LXCs (and VMs) don't have `Wake-on-LAN` functionalities.
161130
For that you will need [WoL PVE](https://github.com/codeshelldev/wol-pve)
162131

163132
```json
164-
{
165-
"hosts": {
166-
"pve": {
167-
"ip": "192.168.1.1",
168-
"mac": "XX:XX:XX:XX:XX:XX",
169-
"startupTime": 40
170-
},
171-
"lxc": {
172-
"ip": "192.168.1.1",
173-
"id": "100",
174-
"startupTime": 10,
175-
"isVirtual": true
176-
},
177-
"ubuntu-vm": {
178-
"ip": "192.168.1.1",
179-
"id": "100",
180-
"startupTime": 10,
181-
"isVirtual": true
182-
}
183-
},
184-
"routes": {
185-
"pve-lxc": {
186-
"route": ["pve", "lxc"]
187-
}
188-
},
189-
"records": {
190-
"*.mydomain.com": "pve-lxc"
191-
}
192-
}
133+
file not found: /home/runner/work/wol-redirect/wol-redirect/examples/config/mapping-pve.json
193134
```
194135

195136
#### Docker
@@ -198,65 +139,13 @@ If you are running docker on your resource-hungry server, you might want to star
198139
For this to work you will need [WoL Dockerized](https://github.com/codeshelldev/wol-dockerized)
199140

200141
```json
201-
{
202-
"hosts": {
203-
"docker-server": {
204-
"ip": "192.168.1.1",
205-
"mac": "XX:XX:XX:XX:XX:XX",
206-
"startupTime": 10
207-
}
208-
},
209-
"routes": {
210-
"docker": {
211-
"route": ["docker-server"],
212-
"attributes": {
213-
"wakeDocker": true
214-
}
215-
}
216-
},
217-
"records": {
218-
"jellyfin.mydomain.com": "docker",
219-
"*.mydomain.com": "docker"
220-
}
221-
}
142+
file not found: /home/runner/work/wol-redirect/wol-redirect/examples/config/mapping-docker.json
222143
```
223144

224145
#### Or both
225146

226147
```json
227-
{
228-
"hosts": {
229-
"pve": {
230-
"ip": "192.168.1.1",
231-
"mac": "XX:XX:XX:XX:XX:XX",
232-
"startupTime": 40
233-
},
234-
"lxc": {
235-
"ip": "192.168.1.1",
236-
"id": "100",
237-
"startupTime": 10,
238-
"isVirtual": true
239-
},
240-
"ubuntu-vm": {
241-
"ip": "192.168.1.1",
242-
"id": "100",
243-
"startupTime": 10,
244-
"isVirtual": true
245-
}
246-
},
247-
"routes": {
248-
"pve-lxc": {
249-
"route": ["pve", "lxc"],
250-
"attributes": {
251-
"wakeDocker": true
252-
}
253-
}
254-
},
255-
"records": {
256-
"jellyfin.mydomain.com": "pve-lxc",
257-
"*.mydomain.com": "pve-lxc"
258-
}
259-
}
148+
file not found: /home/runner/work/wol-redirect/wol-redirect/examples/config/mapping-pve-docker.json
260149
```
261150

262151
_You will need both [WoL PVE](https://github.com/codeshelldev/wol-pve) and [WoL Dockerized](https://github.com/codeshelldev/wol-dockerized)_

docker-compose.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
---
21
services:
32
wol:
43
container_name: wol-client

0 commit comments

Comments
 (0)