diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed045a3b47ae1cd10fe414b16a9f99e4f087c324..c0e5606f1272700e968c01f7d09a4e638e67aa4e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 diff --git a/Dockerfile b/Dockerfile index d461fba5fa8905e9cdb3c7db1fba2df532e7cab2..b8a3be6b48790d7bb41362b87be65be1cf4ce08e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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 \ diff --git a/root/defaults/apps.json b/root/defaults/apps.json deleted file mode 100644 index 9186d2d8483cda5d53a2c1bf0dfd896b28fac7af..0000000000000000000000000000000000000000 --- a/root/defaults/apps.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "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 diff --git a/root/defaults/index.html b/root/defaults/index.html deleted file mode 100644 index 67afed552fdb8990f5db1c11381e3d1c5f183ed0..0000000000000000000000000000000000000000 --- a/root/defaults/index.html +++ /dev/null @@ -1,126 +0,0 @@ -<!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> diff --git a/root/defaults/links.json b/root/defaults/links.json deleted file mode 100644 index a3592e658f143a06b26d77008aafa86dbf383c7f..0000000000000000000000000000000000000000 --- a/root/defaults/links.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "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/" - } - ] - } - ] -} diff --git a/root/defaults/root b/root/defaults/root new file mode 100644 index 0000000000000000000000000000000000000000..dfc688acc1ebaf8857669b7884d578b5a37927f4 --- /dev/null +++ b/root/defaults/root @@ -0,0 +1,9 @@ +# 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 diff --git a/root/etc/cont-init.d/30-install b/root/etc/cont-init.d/30-install index 4c41e0553333d4e3329c60c083dbe85fd71b2e00..31c1be4a5c727da0c5da61398c8706eeffeec150 100644 --- a/root/etc/cont-init.d/30-install +++ b/root/etc/cont-init.d/30-install @@ -1,24 +1,16 @@ #!/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 diff --git a/root/etc/cont-init.d/40-config b/root/etc/cont-init.d/40-config index 5bb6ad80bf2cba9f24e5b086a99307a2e54c4b5e..37bd2211f930634e9ae9bb991f0fac54c4268450 100644 --- a/root/etc/cont-init.d/40-config +++ b/root/etc/cont-init.d/40-config @@ -1,29 +1,11 @@ #!/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