forked from plexguide/AppsFork
-
Notifications
You must be signed in to change notification settings - Fork 0
/
uptime2.app
52 lines (42 loc) · 1.48 KB
/
uptime2.app
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash
# ================================ DEFAULT VALUES ================================ #
default_variables() {
port_number=45000
time_zone=America/New_York
appdata_path=/pg/appdata/uptimekuma
version_tag=1
expose=
subdomain=uptime2 # Subdomain to use for Traefik routing
domain=9705.life # Base domain for Traefik routing
}
# ================================ CONTAINER DEPLOYMENT ================================ #
deploy_container() {
create_docker_compose() {
cat << EOF > /pg/ymals/${app_name}/docker-compose.yml
services:
${app_name}:
image: louislam/uptime-kuma:${version_tag}
container_name: ${app_name}
ports:
- "${expose}${port_number}:3001"
volumes:
- ${appdata_path}:/app/data
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.${app_name}.rule=Host(\`${subdomain}.${domain}\`)"
- "traefik.http.routers.${app_name}.entrypoints=websecure"
- "traefik.http.routers.${app_name}.tls.certresolver=mytlschallenge"
- "traefik.http.services.${app_name}.loadbalancer.server.port=3001"
networks:
- plexguide
networks:
plexguide:
external: true
EOF
}
}
# ================================ MENU GENERATION ================================ #
# NOTE: Generates Menus for the App. Requires 4 #'s' - See Wiki for Details
# ================================ EXTRA FUNCTIONS ================================ #
# NOTE: Extra Functions for Script Organization