Skip to content
Snippets Groups Projects
Commit a31de170 authored by Griefed's avatar Griefed :joystick:
Browse files

Create branch with fork of SUI from ThreadR-r/sui-dashboard-status

parent 116443c1
No related branches found
No related tags found
No related merge requests found
......@@ -48,12 +48,12 @@ test:
- docker build --network host --tag $CI_REGISTRY_IMAGE:arm .
- docker push $CI_REGISTRY_IMAGE:arm
publish:
stage: publish
tags:
- shell
script:
- docker login -u $DOCKER_USER -p $DOCKER_PASSWORD $DOCKER_REGISTRY
- docker build --network host --tag $DOCKER_USER/$DOCKER_REPO:arm .
- docker push $DOCKER_USER/$DOCKER_REPO:arm
- docker system prune --all --force
\ No newline at end of file
#publish:
# stage: publish
# tags:
# - shell
# script:
# - docker login -u $DOCKER_USER -p $DOCKER_PASSWORD $DOCKER_REGISTRY
# - docker build --network host --tag $DOCKER_USER/$DOCKER_REPO:arm .
# - docker push $DOCKER_USER/$DOCKER_REPO:arm
# - docker system prune --all --force
\ No newline at end of file
......@@ -5,7 +5,8 @@ LABEL maintainer="Griefed <griefed@griefed.de>"
RUN \
echo "**** Install dependencies, build tools and stuff ****" && \
apk add --no-cache \
git && \
git \
python3 && \
echo "**** Cleanup ****" && \
rm -rf \
/root/.cache \
......
{
"apps" : [
{"name":"Bazarr","url":"subs.example.com","icon":"message-video"},
{"name":"CloudCMD","url":"files.example.com","icon":"folder-multiple-outline"},
{"name":"Cockpit","url":"cp.example.com","icon":"airplane"},
{"name":"Feedbin","url":"rss.example.com","icon":"rss"},
{"name":"Filestash","url":"cloud.example.com","icon":"package"},
{"name":"Jackett","url":"jackett.example.com","icon":"tshirt-crew-outline"},
{"name":"Lidarr","url":"music.example.com","icon":"music"},
{"name":"Minio","url":"minio.example.com","icon":"server"},
{"name":"Mylar","url":"comics.example.com","icon":"book-open-variant"},
{"name":"Nextcloud","url":"cloud.example.com","icon":"weather-cloudy"},
{"name":"Ombi","url":"request.example.com","icon":"file-find-outline"},
{"name":"Pi-hole","url":"pihole.example.com","icon":"do-not-disturb"},
{"name":"Plex","url":"play.example.com","icon":"plex"},
{"name":"Portainer","url":"port1.example.com","icon":"docker"},
{"name":"Radarr","url":"movies.example.com","icon":"filmstrip"},
{"name":"Sonarr","url":"tv.example.com","icon":"television-box"},
{"name":"Stackedit","url":"md.example.com","icon":"markdown"},
{"name":"Transmission","url":"dl.example.com","icon":"progress-download"},
{"name":"Ubooquity","url":"opds.example.com","icon":"library-shelves"},
{"name":"Youtube-DL","url":"yt.example.com","icon":"youtube"}
]
}
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<title>SUI</title>
<meta charset="utf-8">
<meta http-equiv="Default-Style" content="">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
<link type="text/css" rel="stylesheet" href="./assets/css/styles.css" media="screen,projection"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700,900" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.1.1/handlebars.min.js"></script>
<script src="https://code.iconify.design/1/1.0.0-rc7/iconify.min.js"></script>
</head>
<body onload="loadFunctions()">
<section id="modal">
<div>
<header id="modal-header">
<h1>Options</h1>
<a href="#" title="Close" class="modal-close">
<span class="iconify" data-icon="mdi-close"></span>
</a>
</header>
<h2>Color themes</h2>
<div id="modal-theme">
<button data-theme="blackboard" class="theme-button theme-blackboard">Blackboard</button>
<button data-theme="gazette" class="theme-button theme-gazette">Gazette</button>
<button data-theme="espresso" class="theme-button theme-espresso">Espresso</button>
<button data-theme="cab" class="theme-button theme-cab">Cab</button>
<button data-theme="cloud" class="theme-button theme-cloud">Cloud</button>
<button data-theme="lime" class="theme-button theme-lime">Lime</button>
<button data-theme="passion" class="theme-button theme-passion">Passion</button>
<button data-theme="blues" class="theme-button theme-blues">Blues</button>
<button data-theme="chalk" class="theme-button theme-chalk">Chalk</button>
<button data-theme="tron" class="theme-button theme-tron">Tron</button>
<button data-theme="paper" class="theme-button theme-paper">Paper</button>
</div>
<h2>Search options</h2>
<section id="providers">
<script type="text/handlebars-template" id="providers-template">
<table>
<tr>
<th>Website</th>
<th>Prefix</th>
</tr>
{{#providers}}
<tr>
<td><a href="{{url}}">{{name}}</a></td>
<td>{{prefix}}</td>
</tr>
{{/providers}}
</table>
</script>
</section>
<header id="modal-footer">
<a href="https://github.com/jeroenpardon/"><span class="iconify" data-icon="mdi-github-box"></span></a>
<a href="https://materialdesignicons.com/"><span class="iconify" data-icon="mdi-material-design"></a></span>
</header>
</div>
</section>
<main id="container" class="fade">
<section id="search">
<input name="keywords" type="text" id="keywords" size="50" spellcheck="false" autofocus="true" onkeydown="handleKeyPress(event)">
</section>
<section id="header">
<h2 id="header_date"></h2>
<h1 id="header_greet"></h1>
</section>
<section id="apps">
<script type="text/handlebars-template" id="apps-template">
<h3>Applications</h3>
<div id="apps_loop">
{{#apps}}
<div class="apps_item">
<div class="apps_icon">
<span class="iconify icon" data-icon="mdi-{{icon}}"></span>
</div>
<div class="apps_text">
<a href="PROTOCOL://{{url}}">{{name}}</a>
<span id="app-address">{{url}}</span>
</div>
</div>
{{/apps}}
</div>
</script>
</section>
<section id="links">
<script type="text/handlebars-template" id="links-template">
<h3>Bookmarks</h3>
<div id="links_loop">
{{#bookmarks}}
<div id="links_item">
<h4>{{category}}</h4>
{{#links}}
<a href="{{url}}" class="theme_color-border theme_text-select">{{name}}</a>
{{/links}}
</div>
{{/bookmarks}}
</div>
</script>
</section>
</main>
<div id="modal_init">
<a class="btn" href="#modal">
<span class="iconify icon" data-icon="mdi-xbox-controller-menu"></span>
</a>
</div>
<script src="./assets/js/data.js" type="text/javascript"></script>
<script src="./assets/js/script.js" type="text/javascript"></script>
<script src="./assets/js/themer.js" type="text/javascript"></script>
<script src="./assets/js/search.js" type="text/javascript"></script>
</body>
</html>
{
"bookmarks" : [
{
"category": "Communicate",
"links": [
{
"name": "Discord",
"url": "https://discordapp.com/"
},
{
"name": "Gmail",
"url": "http://gmail.com"
},
{
"name": "Slack",
"url": "https://slack.com/signin"
}
]
},
{
"category": "Cloud",
"links": [
{
"name": "Box",
"url": "https://box.net"
},
{
"name": "Dropbox",
"url": "https://dropbox.com"
},
{
"name": "Drive",
"url": "https://drive.google.com"
}
]
},
{
"category": "Design",
"links": [
{
"name": "Awwwards",
"url": "https://awwwards.com"
},
{
"name": "Dribbble",
"url": "https://dribbble.com"
},
{
"name": "Muz.li",
"url": "https://medium.muz.li/"
}
]
},
{
"category": "Dev",
"links": [
{
"name": "Codepen",
"url": "https://codepen.io/"
},
{
"name": "Devdocs",
"url": "https://devdocs.io"
},
{
"name": "Devhints",
"url": "https://devhints.io"
}
]
},
{
"category": "Lifestyle",
"links": [
{
"name": "Design Milk",
"url": "https://design-milk.com/category/interior-design/"
},
{
"name": "Dwell",
"url": "https://www.dwell.com/"
},
{
"name": "Freshome",
"url": "https://freshome.com/"
}
]
},
{
"category": "Media",
"links": [
{
"name": "Spotify",
"url": "http://browse.spotify.com"
},
{
"name": "Trakt",
"url": "http://trakt.tv"
},
{
"name": "YouTube",
"url": "http://youtube.com/subscriptions"
}
]
},
{
"category": "Reading",
"links": [
{
"name": "Instapaper",
"url": "https://www.instapaper.com/u"
},
{
"name": "Medium",
"url": "http://medium.com"
},
{
"name": "Reddit",
"url": "http://reddit.com"
}
]
},
{
"category": "Tech",
"links": [
{
"name": "TheNextWeb",
"url": "https://thenextweb.com/"
},
{
"name": "The Verge",
"url": "https://theverge.com/"
},
{
"name": "MIT Technology Review",
"url": "https://www.technologyreview.com/"
}
]
}
]
}
# Run report.py to check status of website/services in apps.json every five minutes
# min hour day month weekday command
*/15 * * * * run-parts /etc/periodic/15min
0 * * * * run-parts /etc/periodic/hourly
0 2 * * * run-parts /etc/periodic/daily
0 3 * * 6 run-parts /etc/periodic/weekly
0 5 1 * * run-parts /etc/periodic/monthly
# SUI Dashboard status cronjob
*/5 * * * * cd /config/www/ && /usr/bin/python3 report.py &> /dev/null
\ No newline at end of file
#!/usr/bin/with-contenv bash
if [ ! -a /config/www/sui.lock ]; then
# SUI
if [ ! -f /config/www/sui.lock ]; then
echo "**** Installing SUI ****"
rm -f /config/www/*
git clone \
https://github.com/jeroenpardon/sui.git \
/tmp/sui
rm -f \
/tmp/sui/docker-compose.yml \
/tmp/sui/Dockerfile \
/tmp/sui/License.md \
/tmp/sui/apps.json \
/tmp/sui/links.json \
/tmp/sui/index.html \
rm -Rf /tmp/sui/.git
cp -Rf \
/tmp/sui/. \
/config/www/
https://github.com/ThreadR-r/sui-dashboard-status.git \
/config/www
rm -Rf /tmp/sui
touch /config/www/sui.lock
else
echo "**** SUI already installed, skipping ****"
fi
# Permission Stuffs
......
#!/usr/bin/with-contenv bash
if [ ! -a /config/www/apps.json ]; then
cp -f \
/defaults/apps.json \
/config/www/apps.json
sed -i \
"s/DOMAIN/${DOMAIN}/g" \
/config/www/apps.json
fi
if [ ! -a /config/www/links.json ]; then
cp -f \
/defaults/links.json \
/config/www/links.json
fi
if [ ! -a /config/www/index.html ]; then
cp -f \
/defaults/index.html \
/config/www/index.html
sed -i \
"s/PROTOCOL/${PROTOCOL}/g" \
/config/www/index.html
# Crontabs
mkdir -p \
/config/crontabs
if [ ! -f /config/crintabs/root ]; then
cp /etc/crontabs/root \
/config/crontabs/
fi
# Permissions Stuffs
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment