Favicon of Web Portal

Web Portal

Build a lightning-fast personal portal using a widget-based system. Customize your dashboard with themes, backgrounds, and powerful external plugins.

Create your own personal, all-in-one web dashboard. This tool is designed for speed and efficiency, using minimal JavaScript to provide a lightning-fast experience. It features a clean, icon-based user interface that you can tailor to your preferences with adjustable themes and custom background images.

The core strength lies in its flexibility. You can build your perfect portal using a variety of widgets and extend its capabilities indefinitely through external plugin support.

Key features include:

  • Extensive Widget Library: Comes with built-in widgets for a digital clock, configurable link groups (with colors and icons), a search bar, and embeds for custom HTML or entire websites.
  • Plugin Architecture: Easily load external plugins to add new functionality, such as server status monitors or home automation controls.
  • Lightweight Deployment: Can be deployed as a minimal docker image, making setup quick and resource-friendly.
  • Secure Access: Protect your configuration with an admin password and optionally secure the entire portal with user accounts.
  • Flexible Database Support: Works with both MySQL and SQLite databases.

Directory Structure

web-portal
webportal
mysql-data
webportal-data
.env
docker-compose.yml

docker-compose.yml

services:
  webportal:
    image: ghcr.io/enchantedcode/webportal:latest
    container_name: webportal
    ports:
      - "8080:80"
    environment:
      - DB_HOST=db
      - DB_PORT=3306
      - DB_DATABASE=webportal
      - DB_USERNAME=webportal
      - DB_PASSWORD=${DB_PASSWORD}
      - APP_KEY=${APP_KEY}
    volumes:
      - ./webportal-data:/var/www/html/storage
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: mariadb:10.6
    container_name: webportal_db
    environment:
      - MYSQL_DATABASE=webportal
      - MYSQL_USER=webportal
      - MYSQL_PASSWORD=${DB_PASSWORD}
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
    volumes:
      - ./mysql-data:/var/lib/mysql
    restart: unless-stopped

.env

DB_PASSWORD=your_secure_database_password
MYSQL_ROOT_PASSWORD=your_secure_root_password
APP_KEY=base64:your_random_app_key_here

Share:

Ad
Favicon

 

  
 

Similar to Web Portal

Favicon

 

  
  
Favicon

 

  
  
Favicon