A personal home page for quick access to all your personal apps/sites

Related tags

Miscellaneous Fenrus
Overview

icon_128

Fenrus

Fenrus personal home page/dasbhoard.

It allows you to have a custom home page/new tab page with quick access to your personal apps.

For support use our Discord Server


image


Installation

Node

Fenrus is a Node application and requires NodeJS to run. Once NodeJS is installed you can run Fenrus

node app.js

Docker

Docker is the preferred method of installing Fenrus

docker run -d \
-name=Fenrus\
-p 3000:3000 \
-v /path/to/data:/app/data\
-v /path/to/images:/app/wwwroot/images
--restart unless-stopped \
revenz/fenrus:latest
services:
  fenrus:
    image: revenz/fenrus
    container_name: fenrus
    environment:
      - TZ=Pacific/Auckland
    volumes:
      - /path/to/data:/app/data
      - /path/to/images:/app/wwwroot/images
    ports:
      - 3000:3000
    restart: unless-stopped

Fenrus will save all the user configuration data in the folder /app/data so map this folder outside the docker container.
Also, it will store custom images under /app/wwwroot/images, so map this folder outside the docker image as well.


Getting Started

First, you need to register a user, you can do this on the login page by entering a username and password and clicking "Register" if no user with that username exists, a new one will be created.

fenrus_login

Admin

The first user created in the system will automatically be assigned the admin role. This role allows the user to manage other users.


Configuration

Groups

Groups contain applications and links. The Width/Height settings are used by some Themes. The "Default" theme will use a unit of 1 for the height. This unit of 1 is the size of a "Small" dashboard item. So in the "Media" group shown below, the height is set to 4, as it is 4x small items high. Width is not used in the default theme, it is however used as the basic theme.

fenrus_media

Group Items

Shortcuts are broken down into 3 types

Links

These are basic links to websites, either internal or external, and show no extra information. You can configure an icon for these links, or if left blank Fenrus will try to magically download the favicon for the site.

Apps - Basic

These are a step above links, they are known to Fenrus, and will have a high-resolution icon, perhaps a default URL, but little else.

Apps - Smart

This is where the magic really happens. These smart apps, or spell casts if you will, have extra information that Fenrus can download and query to display more information about the app. This could be as simple as some basic information, or it could be a feature-rich magical experience.


Search Engines

Name: The name of the search engine
URL: The URL for the search query with %s being repalced by the search term
Shortcut: The shortcut to type to use this search engine (if not the default)
Icon: The icon to show when using this search engine

image

FAQ

Q: What is the default username/password?

A: There is no default user. Enter a username and password, then click the "Register" button. This will create a new administrator user. You can then go ot "System" and turn off registrations if you do not wish to allow open registrations.


TODO

  • Implement an application update system, so users do not need to install a new version of Fenrus to get the latest applications. This will be done once the app has matured a little more. I need to add more helpers for different types of Smart apps.
  • Document how to write an application. These are written in Javascript and are not complex to write, however, there are some gotcha's that I need to document.
Comments
  • Errot after updating to latest Docker

    Errot after updating to latest Docker

    After the update this morning, i´m getting this error:

    TypeError: /app/views/home.ejs:28 26| partialFile = ./partials/dashboard/${type.toLowerCase()}.ejs; 27| %>

    28| <%- include(partialFile, itemModel ) %> 29| <% 30| } 31| }

    /app/views/partials/dashboard/group.ejs:14 12| let itemModel = { model: item, settings: settings, Utils: Utils}; 13| %>

    14| <%- include(partialFile, itemModel ) %> 15| <% } 16| } %> 17|

    /app/views/partials/dashboard/app.ejs:1

    1| <% 2| let app = AppHelper.get(model.AppName); 3| let target = settings.LinkTarget ?? '_self'; 4| let title = model.Name ?? model.AppName;

    Cannot read properties of undefined (reading 'Interval') at eval ("/app/views/partials/dashboard/app.ejs":14:24) at app (/app/node_modules/ejs/lib/ejs.js:692:17) at include (/app/node_modules/ejs/lib/ejs.js:690:39) at eval ("/app/views/partials/dashboard/group.ejs":34:17) at group (/app/node_modules/ejs/lib/ejs.js:692:17) at include (/app/node_modules/ejs/lib/ejs.js:690:39) at eval ("/app/views/home.ejs":51:17) at home (/app/node_modules/ejs/lib/ejs.js:692:17) at tryHandleCache (/app/node_modules/ejs/lib/ejs.js:272:36) at View.exports.renderFile [as engine] (/app/node_modules/ejs/lib/ejs.js:489:10)

    opened by ExXxtr3me2 9
  • Feature Request - persistent dashboard selection

    Feature Request - persistent dashboard selection

    If I select a dashboard other than default this will be what I see each time I open fenrus again, until I close my browser. It would be really great if this was persistent each time I opened my browser, so we can have different devices or different browser profiles using the same instance and account but with different selected dashboard

    opened by RoryNesbitt 8
  • Support for going back a page back into fenrus

    Support for going back a page back into fenrus

    Issue : Unable to interact with fenrus after opening a link and then hitting back button

    Reproduce: Have window set as "Open in this tab" Open a link Press back button

    Doing this makes the "launching ...." text appear and stay there, Only way to remove is doing a manual refresh of page image

    opened by Frooodle 6
  • Use alpine baseimage, optimise build

    Use alpine baseimage, optimise build

    The node:16 baseimage you are using is over 900Mb, using the Alpine 3.15 image as a base and installing only the required node packages reduces the image size by 92%.

    opened by thespad 6
  • Smart app Speedtest Tracker

    Smart app Speedtest Tracker

    image

    trying out graphs and stuff

    Stating max Y in title since no other way to tell whats happening.... unless have the user state max speed or show the graph values?

    opened by Frooodle 5
  • Support for scrolling in creating apps

    Support for scrolling in creating apps

    Re-opening of ticket https://github.com/revenz/Fenrus/issues/23 With new UI change If i try and add a new item to a group which has multiple parameters not all of them show...

    When using 1080p 125% scale it shows this image

    When using 1080p 100% scale it shows this image

    opened by Frooodle 4
  • Feature Request - Allow editing GUEST dashboard

    Feature Request - Allow editing GUEST dashboard

    Would like the ability to change the default GUEST dashboard. when nobody is logged in it shows a guest page with links. Is it possible to change this to a different dashboard or edit this? I want to make one that shows specific social media sites and other popular links.

    opened by jaywehner 3
  • optional tdarr to show space saved

    optional tdarr to show space saved

    option to have tdarr show space saved made a new utils for formatBytes to format non Byte values eg GigaByte values Allowed tdarr to work with urls with / on the end like most of the other apps

    image

    Since this has a utils update, would it break the update apps button? Guess it needs a new version to get this?

    opened by Frooodle 3
  • Ssh terminal instant disconnects

    Ssh terminal instant disconnects

    When setting a terminal to bin/bash when it doesn't support it terminal will isntantly close without any logs. In this example it is near impossible to debug without catching the instant the terminal opens before disappearing again

    repoduce: Run ssh on application that doesnt have bin/bash such as the overseerr container

    Expected solution: Either terminal display doesnt instant close if its been open for less than 2 seconds to avoid this exact usecase? Or perhaps log disconnects and their cause to fenrus logger? Some other fix?

    https://media.discordapp.net/attachments/944864944090931260/1013081652425146398/Animation.gif?width=950&height=468 Gif of what happens https://media.discordapp.net/attachments/944864944090931260/1013081652425146398/Animation.gif?width=950&height=468

    opened by Frooodle 3
  • [Feature Request] Status Indicator

    [Feature Request] Status Indicator

    I recently swapped to Fenrus from Dashy for the Smart Apps you have, but one feature I miss is seeing the status of a website from the main dash board, Dashy used a small dot on the upper corner for indication, red for errors, yellow for timeout, green for work, and grey for unreachable, would it be possible to implement something like this in Fenrus?

    opened by MayhemBill 3
  • Import/Export config

    Import/Export config

    add the ability for a user to import and export their personal configuration.

    this will make it easier for a user to transfer to a new fenrus server.

    Show blocker when importing/exporting as this can take a few seconds

    opened by revenz 3
  • Tags for apps

    Tags for apps

    add support for tags for smart apps. so as a user i can see all apps that relate to a specific tag, for example all "Camera Secuirty" apps etc.

    opened by revenz 1
  • Nextcloud with LDAP

    Nextcloud with LDAP

    I use a nextcloud instance with ldap support. When i try to add the nextcloud app and want so see the space etc, its not working with the ldap account. With a local account its working.

    opened by SaschMie 0
  • Firefox - Group Titles

    Firefox - Group Titles

    Hi :D

    I use Firefox 106.0.5 (64 bits) and fenrus is in the docker. If I turn off group titles, titles disappear, but when I refresh my page, title come back. The toggle stays off. I must turn on and off the toggle for the title to disappear again.

    Otherwise good Job :D

    opened by sinslish 0
  • Support Test button for smart apps that dont require properties

    Support Test button for smart apps that dont require properties

    As a user i would want to be able to run the test for a smart app to confirm the URL is correct for apps that dont have parameters.

    Reproduce issue Testing Tdarr smart app using the beta fenrus Since Tdarr has 0 parameters the parameter section doesnt appear and hence no test button appears. Results in being unable to test URL works as expected

    opened by Frooodle 1
  • Feature request - reload data after a while

    Feature request - reload data after a while

    As a user i would want to be able to open my dash and view up to date information, currently info is only updated after a set time fenrus is open, even if that info is days old unless the page is open for a set time the displayed info will be vastly out of date.

    Can you have it so data is refreshed regardless every 12-24 hours if not been ran for that duration or maybe some config based thing. Another solution would have the timers work outside of the window itself so that when you next open fenrus after say 30 minutes, all timers that are less than 30 minutes intervals are called.

    opened by Frooodle 3
  • Owner
    John Andrews
    Software Engineer living in Auckland, New Zealand.
    John Andrews
    Web app for adding EU Digital COVID Certificates to your wallet apps

    Web app for adding EU Digital COVID Certificates to your wallet apps

    CovidPass 1.2k Dec 31, 2022
    BetterDiscord plugin to see what your friends are playing across platforms, all on Discord

    CrossPlatformPlaying A plugin that brings Rich Presence to games that don't support it, and lets you see what your friends are playing even if they tu

    Giorgio 38 Dec 12, 2022
    Creates a URL slug as you type a page title (like Django slugify())

    jQuery Slugify Update Please have a look at Madflow's implementation of jQuery Slugify. It's a more mature and active project. In theory, you should b

    Patrick McElhaney 87 Jun 28, 2022
    TrackIt - Single Page Application that helps the user track their habits.

    TrackIt - Single Page Application that helps the user track their habits. Implemented with JavaScript/React and an API server which enables the user to sign-in or sign-up in the app.

    Lucas Azzolini Vieira 7 Apr 13, 2022
    Math Magician is a single Page App that allows users to perform simple math calculations

    Math Magician is a single Page App that allows users to perform simple math calculations

    levy_ukwishaka 11 Apr 9, 2022
    All information is taken from archived CSV files from the reformagh.ru website

    All information is taken from archived CSV files from the reformagh.ru website

    Dmitry Koviazin 2 Feb 8, 2022
    SPOILER ALERT! A happy little bit of javascript to hide spoilers on your site.

    SPOILER ALERT! Don't spoil it! Hide copy and images with a bit of SVG blur. Taste on mouseover. Eat on click. Do you publish spoilers? Do you wish you

    Joshua Hull 473 Sep 27, 2022
    Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

    Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

    Superalgos 3.1k Jan 1, 2023
    osmoscraft 833 Dec 31, 2022
    A Sequelize web builder interface. To make your own sequelize schema

    A Sequelize web builder interface. To make your own sequelize schema

    Ulysse 5 Mar 9, 2022
    Add weak event listeners from your components/classes based on WeakRefs

    Add weak event listeners from your components/classes based on WeakRefs. This package handles the boilerplate for you, which isn't too much anyways but not particularly good looking.

    Ashish Shubham 3 Feb 25, 2022
    A cool Discord bot to manage tickets on your server 🎫

    Discord Tickets Bot A cool Discord bot to manage tickets on your server ?? Project under construction... follow the progress on the Discord server. If

    null 11 Oct 10, 2022
    Simple & Quick Access Addon For Home Assistant

    Home Assistant - Firefox Addon Quick Access Home Assistant - Firefox Addon Usage Create a Custom Dashboard With Quick Access Entity In Home Assistant

    Varun Sridharan 7 Dec 25, 2022
    Adds links to Discogs pages from various sites. Auto search for music on torrent and other sites. Does multi auto-search on Artist/Discography pages. Auto search local HDDs/filelists using Voidtools Everything search engine.

    Discogs Scout: Adds links to Discogs pages from various sites. Auto search for music on torrent and other sites. Does multi auto-search on Artist/Disc

    null 27 Dec 27, 2022
    Build Schema.org graphs for JavaScript Runtimes (Browser, Node, etc). Improve your sites SEO with quick and easy Rich Results.

    schema-org-graph-js The quickest and easiest way to build Schema.org graphs for JavaScript Runtimes (Browser, Node, etc). Status: ?? In Development Pl

    Harlan Wilton 17 Dec 21, 2022
    Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

    JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

    Svante Jonsson IT-Högskolan 3 May 18, 2022
    Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

    Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

    null 4 May 3, 2022
    Kurs-repo för kursen Webbserver och Databaser

    Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

    null 14 Jan 3, 2023
    This restaurant project is a SPA (single-page application) website. The user can navigate between the home, menu and contact page. I used the MealDB API to display some menu items.

    Fresh Cuisine This restaurant project is from the Odin Project and it is a SPA (single-page application) website. The user can navigate between the ho

    Virag Kormoczy 7 Nov 2, 2022
    Weather Condition App is a mobile application that has a category of countries in the home age and the users can access to weather of each country.

    World Weather This is a SPA react-app project that is built using two APIs. And users can select and choose countries and states and get their updated

    Ahmad Zamir Yousufi 2 Oct 10, 2022