web-portal icon indicating copy to clipboard operation
web-portal copied to clipboard

Web Portal is a all-in-one web dashboard, providing many widgets to build a personal portal. With the ability to load external plugins.

Web Portal

GitHub Supported Python Version Lines of code GitHub code size in bytes GitHub release (latest by date including pre-releases)

Web-Portal is a web app written in Python using Quart, that aims to provide an easy and fast way to manage the links to all of your web services.

It has been designed to run through docker and it is recommended to put it behind a proxy like Nginx for custom routing and domain names.

If you want just a basic link panel configured with a yaml file checkout Web Portal Lite available here: https://github.com/enchant97/web-portal-lite.

If you are looking for V1 please switch to historical-1

Features

  • Minimal use of Javascript, to provide a lightning fast experience
  • Icon based UI
  • Minimal docker image (if deployed with docker)
  • Adjustable site theme
  • Plugin support
  • Inbuilt Plugin Widgets
    • Core
      • Digital Clock
      • Links
        • Groups
        • Colors
        • Icons
      • Search bar
    • Core-Extras
      • HTML embed
      • Website embed (through iframe)
  • Password protection for admin modification
  • Optionally secure the portal with user accounts & passwords
  • MySQL/MariaDB and sqlite support

Showcase

web-portal showcase image, showing dark and light themes

Demo Video (V1)

Demo Video

https://youtu.be/VIWvmfFK5V0

Public Demo Instance (V2)

There is a public demo instance of Web Portal, kindly hosted by a friend access it here: https://webportal.demo.enchantedcode.co.uk/. Read the following notes:

  • Some features have been disabled to ensure the public instance can be accessed by everyone
  • Resets on a schedule
  • Do not put personal information as it is publicly viewable
  • Server may appear as down, please try again later
  • You may use the 'admin' or 'demo' account

Branches

Name Description State
main Work ready for release Stable
next Work for next version Very Unstable
historical-X Historical versions Unsupported

Choose a tag/release for most stable if running project

Contributions

Contributing to this project is welcome, whether that is an issue or pull request, but please read the guidelines below:

  • Contributions may get rejected, if they do not fit the project
  • New widgets most likely will not be added, instead make a plugin (feel free to add the idea to the GitHub discussions page, here)
  • You should keep code to this existing style/format
  • Contributions should not require more pip packages from being added, although there may be exceptions
  • Contributions must be licensed under the same as the project
  • Submit pull requests to 'next' branch, please include some details of what the Contribution is
  • Don't change the version number

Documentation

More details and guides on installing can be found at: enchantedcode.co.uk/web-portal/ or view the markdown in the docs folder here.

License

This project is Copyright (c) 2022 Leo Spratt, licences shown below:

Code

AGPL-3 or any later version. Full license found in `LICENSE.txt`

Documentation

FDLv1.3 or any later version. Full license found in `docs/LICENSE.txt`

This project also uses some third party content, licences for those are found at: THIRD-PARTY.txt.