Flame is self-hosted startpage for your server. Easily manage your apps and bookmarks with built-in editors.
Find a file
2021-06-24 13:32:26 +02:00
client Added search bar 2021-06-24 12:53:45 +02:00
controllers Upload custom icon on client 2021-06-23 15:27:46 +02:00
github Updated README.md with new screenshots, new installation guide and weather module instructions 2021-06-21 13:59:17 +02:00
middleware Added search bar 2021-06-24 12:53:45 +02:00
models Read/write css file from app settings. Changed order of operations at app startup. Added nano to Dockerfile 2021-06-22 13:07:32 +02:00
routes Option to open links in the same tab. Api upload icon. Render image icon instead of MDI. Dockerfile client dependencies fix. 2021-06-23 14:15:14 +02:00
utils Added search bar 2021-06-24 12:53:45 +02:00
.dockerignore Imporved logger 2021-06-22 14:49:00 +02:00
.env Case-insensitive sorting. App version checking 2021-06-15 12:36:23 +02:00
.gitignore Imporved logger 2021-06-22 14:49:00 +02:00
api.js Option to open links in the same tab. Api upload icon. Render image icon instead of MDI. Dockerfile client dependencies fix. 2021-06-23 14:15:14 +02:00
db.js Added search bar 2021-06-24 12:53:45 +02:00
docker-compose.yml Fixed infinite data fetching bug on homescreen. Docker files 2021-06-14 12:13:38 +02:00
Dockerfile Merge pull request #49 from pawelmalak/feature 2021-06-24 13:32:26 +02:00
Dockerfile.multiarch Added search bar 2021-06-24 12:53:45 +02:00
LICENSE.md Added License file 2021-06-10 13:44:03 +02:00
package-lock.json Option to open links in the same tab. Api upload icon. Render image icon instead of MDI. Dockerfile client dependencies fix. 2021-06-23 14:15:14 +02:00
package.json Added search bar 2021-06-24 12:53:45 +02:00
README.md Added search bar 2021-06-24 12:53:45 +02:00
server.js Imporved logger 2021-06-22 14:49:00 +02:00
Socket.js Imporved logger 2021-06-22 14:49:00 +02:00
Sockets.js Added WebSockets with funcionality to send messages from any module 2021-05-19 17:17:24 +02:00

Flame

JS Badge TS Badge Node Badge React Badge

Homescreen screenshot

Description

Flame is self-hosted startpage for your server. Its design is inspired (heavily) by SUI. Flame is very easy to setup and use. With built-in editors it allows you to setup your very own appliaction hub in no time - no file editing necessary.

Technology

  • Backend
    • Node.js + Express
    • Sequelize ORM + SQLite
  • Frontend
    • React
    • Redux
    • TypeScript
  • Deployment
    • Docker

Development

# clone repository
git clone https://github.com/pawelmalak/flame
cd flame

# run only once
npm run dev-init

# start backend and frontend development servers
npm run dev

Installation

Building images

# build image for amd64 only
docker build -t flame .

# build multiarch image for amd64, armv7 and arm64
# building failed multiple times with 2GB memory usage limit so you might want to increase it
docker buildx build \
  --platform linux/arm/v7,linux/arm64,linux/amd64 \
  -f Dockerfile.multiarch \
  -t flame:multiarch .

Deployment

# run container
docker run -p 5005:5005 -v /path/to/data:/app/data flame

Without Docker

Follow instructions from wiki: Installation without Docker

Functionality

  • Applications
    • Create, update, delete and organize applications using GUI
    • Pin your favourite apps to homescreen

Homescreen screenshot

  • Bookmarks
    • Create, update, delete and organize bookmarks and categories using GUI
    • Pin your favourite categories to homescreen

Homescreen screenshot

  • Weather

    • Get current temperature, cloud coverage and weather status with animated icons
  • Themes

    • Customize your page by choosing from 12 color themes

Homescreen screenshot

Usage

While opening links, module will follow Open all links in the same tab setting

Supported search engines

Name Prefix Search URL
Disroot /ds http://search.disroot.org/search?q=
DuckDuckGo /d https://duckduckgo.com/?q=
Google /g https://www.google.com/search?q=

Supported services

Name Prefix Search URL
IMDb /im https://www.imdb.com/find?q=
Reddit /r -https://www.reddit.com/search?q=
The Movie Database /mv https://www.themoviedb.org/search?query=
Youtube /yt https://www.youtube.com/results?search_query=

Setting up weather module

  1. Obtain API Key from Weather API.

    Free plan allows for 1M calls per month. Flame is making less then 3K API calls per month.

  2. Get lat/long for your location. You can get them from latlong.net.
  3. Enter and save data. Weather widget will now update and should be visible on Home page.

Supported URL formats for applications and bookmarks

Rules

  • URL starts with http://
    • Format: http://www.domain.com, http://domain.com
    • Redirect: {dest}
  • URL starts with https://
    • Format: https://www.domain.com, https://domain.com
    • Redirect: https://{dest}
  • URL without protocol
    • Format: www.domain.com, domain.com, sub.domain.com, local, ip, ip:port
    • Redirect: http://{dest}

Custom CSS

This is an experimental feature. Its behaviour might change in the future.

Follow instructions from wiki: Custom CSS

Support

If you want to support development of Flame and my upcoming self-hosted and open source projects you can use the following link:

PayPal Badge