Frierun is an open-source project that aims to simplify the deployment and management of self-hosted applications. It allows easy one-click installation and uninstallation of packages, yet it is highly configurable.
It introduces an abstract package format for defining applications and their dependencies. These abstract format definitions can be written once and reused everywhere by everyone: packages can be deployed on different clouds and infrastructures without any changes.
This project is at the early stages of development. It is not recommended to use it in production. It is more like a proof of concept right now.
The easiest way to run Frierun is to use Docker. You might also use Podman instead if you prefer.
Install Docker on your machine. You can find instructions here.
Open the terminal and run Frierun container:
docker run -d \
--name frierun \
-p 8080:8080 \
-v frierun-config:/App/Frierun \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart always \
ghcr.io/frierun/frierun:main
Podman is a Docker alternative. You can find installation instructions here.
However, Frierun requires a docker-compatible socket to run. Different OSs have different ways to do this.
Depending on your distribution, the socket might be created but not activated. You can activate it by running:
systemctl start podman.socket
Refer to installation instructions for your distribution if this command doesn't work.
podman run -d \
--name frierun \
-p 8080:8080 \
-v frierun-config:/App/Frierun \
-v /run/podman/podman.sock:/var/run/docker.sock \
--restart always \
ghcr.io/frierun/frierun:main
Podman on Windows creates the docker socket during the installation.
podman run -d \
--name frierun \
-p 8080:8080 \
-v frierun-config:/App/Frierun \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart always \
ghcr.io/frierun/frierun:main
Open your browser and go to http://localhost:8080
.
Some packages require providers to be installed first, providers also add features to other applications. See the list below.
traefik
provides ability to route http traffic from one port to many containers using domain names.static-domain
providestraefik
with a static domain name. For local environments thelocalhost
domain can be used. It would create subdomains likeapp.localhost
for each application.docker
is installed by default. It provides the ability to run applications in containers.mysql
,mariadb
,postgresql
run in containers and provide other applications with access to separate databases.
The static-domain
provider is installed by default. But we also recommend to install traefik
as well to make applications accessible by domain name.
Homepage with some packages installed:
All contributions are welcome! You can create an issue or a pull request.