Skip to content
This repository has been archived by the owner on Oct 2, 2023. It is now read-only.
/ citadel-dev Public archive

Automatically initialize and manage a Citadel development environment.

License

Notifications You must be signed in to change notification settings

runcitadel/citadel-dev

Repository files navigation

Citadel CLI

Automatically initialize and manage a Citadel.

This installation method uses nested Docker containers (Docker-in-Docker) for a lightweight and fast way to get up and running with Citadel. Sysbox enables us to do this in a way that is easy and secure. The inner Docker is totally isolated from the Docker on the host.

Installation

Requirements

Install & Update Script

mkdir -p ~/.citadel && curl -#L https://github.com/runcitadel/citadel-dev/tarball/main | tar -xzv --strip-components 1 --exclude={citadel-startup.service,Dockerfile,README.md,LICENSES,LICENSE,.gitignore,.github} -C ~/.citadel

Running the above command downloads the repository to ~/.citadel. To update later on, just run that command again.

Add to $PATH

Make the command available in your shell

export PATH="$PATH:$HOME/.citadel/bin"

If you want to have it permanently, also add the line to the correct profile file (~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc).

Install Dependencies (optional)

Install the required dependencies if you haven't already

citadel install

Usage

Initialize your environment

citadel init

Start Citadel and login in with the default credentials (user: citadel, password: freedom)

citadel boot

List all possible commands

citadel help

Development

This CLI also serves as an easy way to bootstrap a development environment with hot module replacement for rapid iterations. For linking @runcitadel packages use yarn link -r ../<package> & yarn unlink ../<package> as needed from the appropriate directory.

citadel init --development

For information on how to setup a Multinode environment in regtest mode with Lightning Polar, see here.

Troubleshoot

Run docker info and make sure you have "overlay2" configured as your storage driver and that docker knows about Sysbox as a runtime.

  • Unknown runtime specified sysbox-runc

https://github.com/nestybox/sysbox/blob/master/docs/user-guide/troubleshoot.md#docker-reports-unknown-runtime-error

  • Inner containers fail to start / stop

Make sure you have "overlay2" configured as your storage driver, see https://docs.docker.com/storage/storagedriver/overlayfs-driver/

For Sysbox related issues see https://github.com/nestybox/sysbox/blob/master/docs/user-guide/troubleshoot.md

License

All code committed on and before git commit 874d4d8 is licensed via MIT and © Umbrel
All code committed after git commit 874d4d8 is licensed GPL v3

About

Automatically initialize and manage a Citadel development environment.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages