A docker workbench environment, pre-configured for running a bitcoin node with ord (rust).
Here is an overview of the project filesystem:
## Project Directory
/config # Mounted as read-only at /config.
# Useful for collecting our config files in
# one place, so we can tweak them between builds.
/home # Mounted as read-write at /root/home.
# Scripts placed in 'bin' are added to your PATH
# environment. The .bashrc script is loaded at login.
/image # Copied to root filesystem '/' at build time.
# Create your desired filesystem in here, using the
# proper paths. (for ex. binaries in /image/usr/bin/')
.env.sample # Example of .env file. Used for setting variables that
# are passed into the build and runtime environments.
compose.yml # Container configuration file. Launch your container in
# detached mode by using: 'docker compose up --build -d'
Dockerfile # Main build file for the docker container. Feel free to
# configure this file to your liking!
README.md # You are here!Tips
- The
Dockerfilespecifies what packages are installed by default. Modify theapt installline to add more packages to your container. - The
homefolder is reloaded upon login, so you can make changes to your environment frequenlty! - Use the
home/binfolder to store your own custom scripts (and call them directly). - Use the
.initand.profilescripts to customize your own shell environment. - Feel free to
--buildfrequently as you make changes to the filesystem.
## Build the image and start in a container.
docker compose up --build
## Start the container in detached mode.
docker compose up -d
## You can also do all of this in one line.
docker compose up --build -d
## Log into a currently running container.
docker exec -it <container name> bash
## If you have any issues with starting your container,
## log into the container's shell, then start the script.
docker compose run -it --entrypoint bash <container name>
<~/home> entrypointSetting NGROK_ENABLED=1 in your .env file will enable Ngrok integration. This will configure your spark-qr command to connect using an encrypted Ngrok tunnel. You will have to sign up here in order to receive an NGROK_TOKEN and use their service.
For more information and resources, please see the links below.
Nostr-rs-relay
https://sr.ht/~gheartsfield/nostr-rs-relay
Docker Compose Reference
https://docs.docker.com/compose/compose-file
Docker Builder Reference
https://docs.docker.com/engine/reference/builder
Docker Exec Reference
https://docs.docker.com/engine/reference/commandline/exec