diff --git a/.github/apps.png b/.github/apps.png new file mode 100644 index 0000000..17a1676 Binary files /dev/null and b/.github/apps.png differ diff --git a/.github/bookmarks.png b/.github/bookmarks.png new file mode 100644 index 0000000..dcb63ba Binary files /dev/null and b/.github/bookmarks.png differ diff --git a/.github/home.png b/.github/home.png new file mode 100644 index 0000000..5e9f578 Binary files /dev/null and b/.github/home.png differ diff --git a/.github/settings.png b/.github/settings.png new file mode 100644 index 0000000..73393b5 Binary files /dev/null and b/.github/settings.png differ diff --git a/CHANGELOG.md b/CHANGELOG.md index d199acc..fdce1c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +### v2.0.0 (TBA) +- Added authentication system: + - Only logged in user can access settings ([#33](https://github.com/pawelmalak/flame/issues/33)) + - User can set which apps, categories and bookmarks should be available for guest users ([#45](https://github.com/pawelmalak/flame/issues/45)) + - Visit [project wiki](https://github.com/pawelmalak/flame/wiki/Authentication) to read more about this feature +- Docker images will now be versioned ([#110](https://github.com/pawelmalak/flame/issues/110)) +- Icons can now be set via URL ([#138](https://github.com/pawelmalak/flame/issues/138)) +- Added current time to the header ([#157](https://github.com/pawelmalak/flame/issues/157)) +- Fixed bug where typing certain characters in the search bar would result in a blank page ([#158](https://github.com/pawelmalak/flame/issues/158)) +- Fixed bug with MDI icon name not being properly parsed if there was leading or trailing whitespace ([#164](https://github.com/pawelmalak/flame/issues/164)) +- Added Wikipedia to search queries +- Lots of changes and refactors under the hood to make future development easier + ### v1.7.4 (2021-11-08) - Added option to set custom greetings and date ([#103](https://github.com/pawelmalak/flame/issues/103)) - Fallback to web search if local search has zero results ([#129](https://github.com/pawelmalak/flame/issues/129)) @@ -62,12 +75,12 @@ - Fixed custom icons not updating ([#58](https://github.com/pawelmalak/flame/issues/58)) - Added changelog file -### v1.6 (2021-07-17) +### v1.6.0 (2021-07-17) - Added support for Steam URLs ([#62](https://github.com/pawelmalak/flame/issues/62)) - Fixed bug with custom CSS not persisting ([#64](https://github.com/pawelmalak/flame/issues/64)) - Added option to set default prefix for search bar ([#65](https://github.com/pawelmalak/flame/issues/65)) -### v1.5 (2021-06-24) +### v1.5.0 (2021-06-24) - Added ability to set custom CSS from settings ([#8](https://github.com/pawelmalak/flame/issues/8) and [#17](https://github.com/pawelmalak/flame/issues/17)) (experimental) - Added option to upload custom icons ([#12](https://github.com/pawelmalak/flame/issues/12)) - Added option to open links in a new or the same tab ([#27](https://github.com/pawelmalak/flame/issues/27)) @@ -75,7 +88,7 @@ - Added option to hide applications and categories ([#48](https://github.com/pawelmalak/flame/issues/48)) - Improved Logger -### v1.4 (2021-06-18) +### v1.4.0 (2021-06-18) - Added more sorting options. User can now choose to sort apps and categories by name, creation time or to use custom order ([#13](https://github.com/pawelmalak/flame/issues/13)) - Added reordering functionality. User can now set custom order for apps and categories from their 'edit tables' ([#13](https://github.com/pawelmalak/flame/issues/13)) - Changed get all controllers for applications and categories to use case-insensitive ordering ([#36](https://github.com/pawelmalak/flame/issues/36)) @@ -84,14 +97,14 @@ - Added update check on app start ([#38](https://github.com/pawelmalak/flame/issues/38)) - Fixed bug with decimal input values in Safari browser ([#40](https://github.com/pawelmalak/flame/issues/40)) -### v1.3 (2021-06-14) +### v1.3.0 (2021-06-14) - Added reverse proxy support ([#23](https://github.com/pawelmalak/flame/issues/23) and [#24](https://github.com/pawelmalak/flame/issues/24)) - Added support for more url formats ([#26](https://github.com/pawelmalak/flame/issues/26)) - Added ability to hide main header ([#28](https://github.com/pawelmalak/flame/issues/28)) - Fixed settings not being synchronized ([#29](https://github.com/pawelmalak/flame/issues/29)) - Added auto-refresh for greeting and date ([#34](https://github.com/pawelmalak/flame/issues/34)) -### v1.2 (2021-06-10) +### v1.2.0 (2021-06-10) - Added simple check to the weather module settings to inform user if the api key is missing ([#2](https://github.com/pawelmalak/flame/issues/2)) - Added ability to set optional icons to the bookmarks ([#7](https://github.com/pawelmalak/flame/issues/7)) - Added option to pin new applications and categories to the homescreen by default ([#11](https://github.com/pawelmalak/flame/issues/11)) @@ -100,11 +113,11 @@ - Added proxy for websocket instead of using hard coded host ([#18](https://github.com/pawelmalak/flame/issues/18)) - Fixed bug with overwriting opened tabs ([#20](https://github.com/pawelmalak/flame/issues/20)) -### v1.1 (2021-06-09) +### v1.1.0 (2021-06-09) - Added custom favicon and changed page title ([#3](https://github.com/pawelmalak/flame/issues/3)) - Added functionality to set custom page title ([#3](https://github.com/pawelmalak/flame/issues/3)) - Changed messages on the homescreen when there are apps/bookmarks created but not pinned to the homescreen ([#4](https://github.com/pawelmalak/flame/issues/4)) - Added 'warnings' to apps and bookmarks forms about supported url formats ([#5](https://github.com/pawelmalak/flame/issues/5)) -### v1.0 (2021-06-08) +### v1.0.0 (2021-06-08) Initial release of Flame - self-hosted startpage using Node.js on backend and React on frontend. diff --git a/README.md b/README.md index 33e184e..50905e2 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,25 @@ # Flame -![Homescreen screenshot](./.github/_home.png) +![Homescreen screenshot](.github/home.png) ## Description Flame is self-hosted startpage for your server. Its design is inspired (heavily) by [SUI](https://github.com/jeroenpardon/sui). Flame is very easy to setup and use. With built-in editors, it allows you to setup your very own application hub in no time - no file editing necessary. -## Technology +## Functionality +📝 Create, update, delete your applications and bookmarks directly from the app using built-in GUI editors -- Backend - - Node.js + Express - - Sequelize ORM + SQLite -- Frontend - - React - - Redux - - TypeScript -- Deployment - - Docker - - Kubernetes +📌 Pin your favorite items to the homescreen for quick and easy access -## Development +🔍 Integrated search bar with local filtering, 11 web search providers and ability to add your own -```sh -# clone repository -git clone https://github.com/pawelmalak/flame -cd flame +🔑 Authentication system to protect your settings, apps and bookmarks -# run only once -npm run dev-init +🔨 Dozens of option to customize Flame interface to your needs, including support for custom CSS and 15 built-in color themes + +☀️ Weather widget with current temperature, cloud coverage and animated weather status -# start backend and frontend development servers -npm run dev -``` +🐳 Docker integration to automatically pick and add apps based on their labels ## Installation @@ -40,24 +28,26 @@ npm run dev [Docker Hub link](https://hub.docker.com/r/pawelmalak/flame) ```sh -docker pull pawelmalak/flame:latest +docker pull pawelmalak/flame # for ARM architecture (e.g. RaspberryPi) docker pull pawelmalak/flame:multiarch -``` +# installing specific version +docker pull pawelmalak/flame:2.0.0 +``` #### Building images ```sh # build image for amd64 only -docker build -t flame . +docker build -t flame -f .docker/Dockerfile . # 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 \ + -f .docker/Dockerfile.multiarch \ -t flame:multiarch . ``` @@ -81,6 +71,8 @@ services: - /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration feature ports: - 5005:5005 + environment: + - PASSWORD=flame_password restart: unless-stopped ``` @@ -95,32 +87,51 @@ skaffold dev Follow instructions from wiki: [Installation without Docker](https://github.com/pawelmalak/flame/wiki/Installation-without-docker) -## Functionality +## Development -- Applications - - Create, update, delete and organize applications using GUI - - Pin your favourite apps to the homescreen +### Technology -![Homescreen screenshot](./.github/_apps.png) +- Backend + - Node.js + Express + - Sequelize ORM + SQLite +- Frontend + - React + - Redux + - TypeScript +- Deployment + - Docker + - Kubernetes -- Bookmarks - - Create, update, delete and organize bookmarks and categories using GUI - - Pin your favourite categories to the homescreen - - Import html bookmarks (experimental) +### Creating dev environment -![Homescreen screenshot](./.github/_bookmarks.png) +```sh +# clone repository +git clone https://github.com/pawelmalak/flame +cd flame -- Weather +# run only once +npm run dev-init - - Get current temperature, cloud coverage and weather status with animated icons +# start backend and frontend development servers +npm run dev +``` -- Themes - - Customize your page by choosing from 15 color themes +## Screenshots -![Homescreen screenshot](./.github/_themes.png) +![Apps screenshot](.github/apps.png) + +![Bookmarks screenshot](.github/bookmarks.png) + +![Settings screenshot](.github/settings.png) + +![Themes screenshot](.github/_themes.png) ## Usage +### Authentication + +Visit [project wiki](https://github.com/pawelmalak/flame/wiki/Authentication) to read more about authentication + ### Search bar #### Searching diff --git a/client/src/utility/searchQueries.json b/client/src/utility/searchQueries.json index ead25c5..8ec3d74 100644 --- a/client/src/utility/searchQueries.json +++ b/client/src/utility/searchQueries.json @@ -50,15 +50,15 @@ "prefix": "td", "template": "https://listen.tidal.com/search?q=" }, - { - "name": "YouTube", - "prefix": "yt", - "template": "https://www.youtube.com/results?search_query=" - }, { "name": "Wikipedia", "prefix": "w", "template": "https://en.wikipedia.org/w/index.php?search=" + }, + { + "name": "YouTube", + "prefix": "yt", + "template": "https://www.youtube.com/results?search_query=" } ] }