Get Umbrel up and running on grid3.
This image based on Debian.
-
Docker
-
Docker-compose
-
include preinstalled openssh-client, yq, openssh-server, curl, iproute2, python3 and some other packages.
-
zinit process manager which is configured with these services:
- sshd: starting OpenSSH server daemon
- ssh_config: Add the user SSH key to authorized_keys, so he can log in remotely to the host which running this image.
- dockerd: run docker daemon
- config: run umbrel-install
- this will install Umbrel v0.5.3
- manipulate the start script to
- enable ipv6 in docker-compose using yq
- just pull the docker images of docker-compose.yml instead of running them.
- run the start script with those modifications.
- Umbrel:
- start Umbrel by running Umbrel-start
This script is a modified version of the start script avoid some remote-access, installed apps, and restart issues.
- This script will check for the
REBOOT_SIGNAL_FILE
and if it exists and hastrue
, it will run stop script. - it will run the a modified version of the start script to start Umbrel, and tor-server < if remote access enabled > and the installed apps.
- This script will check for the
- run
docker-compose up --no-recreate;
only to make it monitored by zinit.
--no-recreate
used because the umbrel-start script will run docker-compose up so no need to recreate any of them. - start Umbrel by running Umbrel-start
- register: try to register with user credentials, if the curl returns
No route to host
it will sleep for 2 seconds and try again.
in the umbrel directory
docker build -t {user|org}/grid3_umbrel_docker:latest .
Easiest way to convert the docker image to Flist is using Docker Hub Converter tool, make sure you already built and pushed the docker image to docker hub before using this tool.
Easiest way to deploy a VM using the flist is to head to to our playground and deploy a Virtual Machine by providing this flist URL.
make sure to provide the correct entrypoint, and required env vars.
or use the dedicated Umbrel weblet if available, which will deploy an instance that satisfies the above perquisites.
TODO: add terraform example file
https://hub.grid.tf/kassem.3bot/0om4r-umbrel-1.0.0.flist
TODO: should be updated to official repo.
/sbin/zinit init
SSH_KEY
: User SSH public key.USERNAME
: this will be used in registration to Umbrel dashboard.PASSWORD
: this will be used in registration, and login to Umbrel dashboard.
UMBREL_DISK
This env will be used to configure the installation process, to make Umbrel installed on"${UMBREL_DISK}/umbrel"
- If the UMBREL_DISK not specified, the install path will be
/umbrel
- If the UMBREL_DISK not specified, the install path will be
Due to the nature of the grid, shutdown, and restart of your umbrel from the dashboard May make some unwanted behaviors. For advanced configuration, please check the envs mentioned in umbrel-dashboard, umbrel-manager, and .env-example file.
- you can login to your Umbrel dashboard simply by navigating to the machine ip and enter your
PASSWORD
Due to the nature of the grid, shutdown, and restart of your umbrel from the dashboard MAY make some unwanted behaviors.