[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71367":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":14,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},71367,"flame","pawelmalak\u002Fflame","pawelmalak","Flame is self-hosted startpage for your server. Easily manage your apps and bookmarks with built-in editors.","",null,"TypeScript",6405,339,36,133,0,8,18,24,38.59,"MIT License",false,"master",true,[26,27,28],"homepage","self-hosted","startpage","2026-06-12 02:02:51","# Flame\n\n![Homescreen screenshot](.github\u002Fhome.png)\n\n## Description\n\nFlame is self-hosted startpage for your server. Its design is inspired (heavily) by [SUI](https:\u002F\u002Fgithub.com\u002Fjeroenpardon\u002Fsui). 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.\n\n## Functionality\n- 📝 Create, update, delete your applications and bookmarks directly from the app using built-in GUI editors\n- 📌 Pin your favourite items to the homescreen for quick and easy access\n- 🔍 Integrated search bar with local filtering, 11 web search providers and ability to add your own\n- 🔑 Authentication system to protect your settings, apps and bookmarks\n- 🔨 Dozens of options to customize Flame interface to your needs, including support for custom CSS, 15 built-in color themes and custom theme builder\n- ☀️ Weather widget with current temperature, cloud coverage and animated weather status\n- 🐳 Docker integration to automatically pick and add apps based on their labels\n\n## Installation\n\n### With Docker (recommended)\n\n[Docker Hub link](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fpawelmalak\u002Fflame)\n\n```sh\ndocker pull pawelmalak\u002Fflame\n\n# for ARM architecture (e.g. RaspberryPi)\ndocker pull pawelmalak\u002Fflame:multiarch\n\n# installing specific version\ndocker pull pawelmalak\u002Fflame:2.0.0\n```\n\n#### Deployment\n\n```sh\n# run container\ndocker run -p 5005:5005 -v \u002Fpath\u002Fto\u002Fdata:\u002Fapp\u002Fdata -e PASSWORD=change_me pawelmalak\u002Fflame\n```\n\n#### Building images\n\n```sh\n# build image for amd64 only\ndocker build -t flame -f .docker\u002FDockerfile .\n\n# build multiarch image for amd64, armv7 and arm64\n# building failed multiple times with 2GB memory usage limit so you might want to increase it\ndocker buildx build \\\n  --platform linux\u002Farm\u002Fv7,linux\u002Farm64,linux\u002Famd64 \\\n  -f .docker\u002FDockerfile.multiarch \\\n  -t flame:multiarch .\n```\n\n#### Docker-Compose\n\n```yaml\nversion: '3.6'\n\nservices:\n  flame:\n    image: pawelmalak\u002Fflame\n    container_name: flame\n    volumes:\n      - \u002Fpath\u002Fto\u002Fhost\u002Fdata:\u002Fapp\u002Fdata\n      - \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock # optional but required for Docker integration\n    ports:\n      - 5005:5005\n    secrets:\n      - password # optional but required for (1)\n    environment:\n      - PASSWORD=change_me\n      - PASSWORD_FILE=\u002Frun\u002Fsecrets\u002Fpassword # optional but required for (1)\n    restart: unless-stopped\n\n# optional but required for Docker secrets (1)\nsecrets:\n  password:\n    file: \u002Fpath\u002Fto\u002Fsecrets\u002Fpassword\n```\n\n##### Docker Secrets\n\nAll environment variables can be overwritten by appending `_FILE` to the variable value. For example, you can use `PASSWORD_FILE` to pass through a docker secret instead of `PASSWORD`. If both `PASSWORD` and `PASSWORD_FILE` are set, the docker secret will take precedent.\n\n```bash\n# .\u002Fsecrets\u002Fflame_password\nmy_custom_secret_password_123\n\n# .\u002Fdocker-compose.yml\nsecrets:\n  password:\n    file: .\u002Fsecrets\u002Fflame_password\n```\n\n#### Skaffold\n\n```sh\n# use skaffold\nskaffold dev\n```\n\n### Without Docker\n\nFollow instructions from wiki: [Installation without Docker](https:\u002F\u002Fgithub.com\u002Fpawelmalak\u002Fflame\u002Fwiki\u002FInstallation-without-docker)\n\n## Development\n\n### Technology\n\n- Backend\n  - Node.js + Express\n  - Sequelize ORM + SQLite\n- Frontend\n  - React\n  - Redux\n  - TypeScript\n- Deployment\n  - Docker\n  - Kubernetes\n\n### Creating dev environment\n\n```sh\n# clone repository\ngit clone https:\u002F\u002Fgithub.com\u002Fpawelmalak\u002Fflame\ncd flame\n\n# run only once\nnpm run dev-init\n\n# start backend and frontend development servers\nnpm run dev\n```\n\n## Screenshots\n\n![Apps screenshot](.github\u002Fapps.png)\n\n![Bookmarks screenshot](.github\u002Fbookmarks.png)\n\n![Settings screenshot](.github\u002Fsettings.png)\n\n![Themes screenshot](.github\u002Fthemes.png)\n\n## Usage\n\n### Authentication\n\nVisit [project wiki](https:\u002F\u002Fgithub.com\u002Fpawelmalak\u002Fflame\u002Fwiki\u002FAuthentication) to read more about authentication\n\n### Search bar\n\n#### Searching\n\nThe default search setting is to search through all your apps and bookmarks. If you want to search using specific search engine, you need to type your search query with selected prefix. For example, to search for \"what is docker\" using google search you would type: `\u002Fg what is docker`.\n\nFor list of supported search engines, shortcuts and more about searching functionality visit [project wiki](https:\u002F\u002Fgithub.com\u002Fpawelmalak\u002Fflame\u002Fwiki\u002FSearch-bar).\n\n### Setting up weather module\n\n1. Obtain API Key from [Weather API](https:\u002F\u002Fwww.weatherapi.com\u002Fpricing.aspx).\n   > Free plan allows for 1M calls per month. Flame is making less then 3K API calls per month.\n2. Get lat\u002Flong for your location. You can get them from [latlong.net](https:\u002F\u002Fwww.latlong.net\u002Fconvert-address-to-lat-long.html).\n3. Enter and save data. Weather widget will now update and should be visible on Home page.\n\n### Docker integration\n\nIn order to use the Docker integration, each container must have the following labels:\n\n```yml\nlabels:\n  - flame.type=application # \"app\" works too\n  - flame.name=My container\n  - flame.url=https:\u002F\u002Fexample.com\n  - flame.icon=icon-name # optional, default is \"docker\"\n# - flame.icon=custom to make changes in app. ie: custom icon upload\n```\n\n> \"Use Docker API\" option must be enabled for this to work. You can find it in Settings > Docker\n\nYou can also set up different apps in the same label adding `;` between each one.\n\n```yml\nlabels:\n  - flame.type=application\n  - flame.name=First App;Second App\n  - flame.url=https:\u002F\u002Fexample1.com;https:\u002F\u002Fexample2.com\n  - flame.icon=icon-name1;icon-name2\n```\n\nIf you want to use a remote docker host follow this instructions in the host:\n\n- Open the file `\u002Flib\u002Fsystemd\u002Fsystem\u002Fdocker.service`, search for `ExecStart` and edit the value\n\n```text\nExecStart=\u002Fusr\u002Fbin\u002Fdockerd -H tcp:\u002F\u002F0.0.0.0:${PORT} -H unix:\u002F\u002F\u002Fvar\u002Frun\u002Fdocker.sock\n```\n\n>The above command will bind the docker engine server to the Unix socket as well as TCP port of your choice. “0.0.0.0” means docker-engine accepts connections from all IP addresses.\n\n- Restart the daemon and Docker service\n\n```shell\nsudo systemctl daemon-reload\nsudo service docker restart\n```\n\n- Test if it is working\n\n```shell\ncurl http:\u002F\u002F${IP}:${PORT}\u002Fversion\n```\n\n### Kubernetes integration\n\nIn order to use the Kubernetes integration, each ingress must have the following annotations:\n\n```yml\nmetadata:\n  annotations:\n  - flame.pawelmalak\u002Ftype=application # \"app\" works too\n  - flame.pawelmalak\u002Fname=My container\n  - flame.pawelmalak\u002Furl=https:\u002F\u002Fexample.com\n  - flame.pawelmalak\u002Ficon=icon-name # optional, default is \"kubernetes\"\n```\n\n> \"Use Kubernetes Ingress API\" option must be enabled for this to work. You can find it in Settings > Docker\n\n### Import HTML Bookmarks (Experimental)\n\n- Requirements\n  - python3\n  - pip packages: Pillow, beautifulsoup4\n- Backup your `db.sqlite` before running script!\n- Known Issues:\n  - generated icons are sometimes incorrect\n\n```bash\npip3 install Pillow, beautifulsoup4\n\ncd flame\u002F.dev\npython3 bookmarks_importer.py --bookmarks \u003Cpath to bookmarks.html> --data \u003Cpath to flame data folder>\n```\n\n### Custom CSS and themes\n\nSee project wiki for [Custom CSS](https:\u002F\u002Fgithub.com\u002Fpawelmalak\u002Fflame\u002Fwiki\u002FCustom-CSS) and [Custom theme with CSS](https:\u002F\u002Fgithub.com\u002Fpawelmalak\u002Fflame\u002Fwiki\u002FCustom-theme-with-CSS).\n","Flame 是一个自托管的服务器启动页，让你能够轻松管理和编辑应用及书签。项目核心功能包括通过内置图形界面编辑器直接创建、更新和删除应用程序与书签；支持将常用项固定到首页以便快速访问；集成搜索栏提供本地过滤和11种网络搜索引擎选择，并允许用户自定义搜索源；具备认证系统保护设置安全；提供丰富的自定义选项如自定义CSS、15种预设色彩主题以及天气小部件等。此外，Flame还支持Docker集成，可根据标签自动添加应用。适用于需要统一管理个人或团队使用的服务链接和技术资源的场景，特别适合那些希望在单一界面上集中所有在线服务入口的用户。",2,"2026-06-11 03:37:22","high_star"]