Flame is self-hosted startpage for your server. Easily manage your apps and bookmarks with built-in editors.
Deploy this app to Linode with a free $100 credit!
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 application hub in no time - no file editing necessary.
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
# run container
docker run -p 5005:5005 -v /path/to/data:/app/data -e PASSWORD=flame_password pawelmalak/flame
# build image for amd64 only
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 .docker/Dockerfile.multiarch \
-t flame:multiarch .
version: '3.6'
services:
flame:
image: pawelmalak/flame
container_name: flame
volumes:
- /path/to/host/data:/app/data
- /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration
ports:
- 5005:5005
secrets:
- password # optional but required for (1)
environment:
- PASSWORD=flame_password
- PASSWORD_FILE=/run/secrets/password # optional but required for (1)
restart: unless-stopped
# optional but required for Docker secrets (1)
secrets:
password:
file: /path/to/secrets/password
All 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.
# ./secrets/flame_password
my_custom_secret_password_123
# ./docker-compose.yml
secrets:
password:
file: ./secrets/flame_password
# use skaffold
skaffold dev
Follow instructions from wiki: Installation without Docker
# 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
Visit project wiki to read more about authentication
The 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: /g what is docker
.
For list of supported search engines, shortcuts and more about searching functionality visit project wiki.
Free plan allows for 1M calls per month. Flame is making less then 3K API calls per month.
In order to use the Docker integration, each container must have the following labels:
labels:
- flame.type=application # "app" works too
- flame.name=My container
- flame.url=https://example.com
- flame.icon=icon-name # optional, default is "docker"
# - flame.icon=custom to make changes in app. ie: custom icon upload
"Use Docker API" option must be enabled for this to work. You can find it in Settings > Docker
You can also set up different apps in the same label adding ;
between each one.
labels:
- flame.type=application
- flame.name=First App;Second App
- flame.url=https://example1.com;https://example2.com
- flame.icon=icon-name1;icon-name2
If you want to use a remote docker host follow this instructions in the host:
/lib/systemd/system/docker.service
, search for ExecStart
and edit the valueExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:${PORT} -H unix:///var/run/docker.sock
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.
sudo systemctl daemon-reload
sudo service docker restart
curl http://${IP}:${PORT}/version
In order to use the Kubernetes integration, each ingress must have the following annotations:
metadata:
annotations:
- flame.pawelmalak/type=application # "app" works too
- flame.pawelmalak/name=My container
- flame.pawelmalak/url=https://example.com
- flame.pawelmalak/icon=icon-name # optional, default is "kubernetes"
"Use Kubernetes Ingress API" option must be enabled for this to work. You can find it in Settings > Docker
db.sqlite
before running script!pip3 install Pillow, beautifulsoup4
cd flame/.dev
python3 bookmarks_importer.py --bookmarks <path to bookmarks.html> --data <path to flame data folder>
See project wiki for Custom CSS and Custom theme with CSS.
Please login to review this project.
No reviews for this project yet.
Habit tracker app which treats your goals like a Role Playi…
Open-source, customizable, self-hosted alternative to servi…
A dead simple static homepage to expose your server service…
Comments (0)
Please login to join the discussion on this project.