Releases: dogeorg/dogebox
Dogebox v0.3.0-beta
Caution
Warning
Dogebox is currently in beta (heavy testing). Do not use it for any production workloads, and definitely don't send any money to addresses generated by it unless you have ensured key backups.
Release Highlights (v0.3.0-beta)
- Adds Dogebox installation UX
- Adds Mass Storage Selection
- NanoPC T6 updates & instruction
- New ISO images (x86_64 and aarch64)
- Pupdates! (new Pup features)
Features
Dogebox Installation
We now have graphical support for OS installation if you wish to install to a separate disk. Some installation media (ISO images) will force you to install, as they are typically mounted read-only and cannot persist any changes you make.
See Platform Notes below for more details.
Storage Selection
You can now select an external disk to use as your pup-storage location.
A warning will be shown if you select a disk that is less than 300GB, as that is typically not enough space to sync the Dogecoin blockchain, but you will be allowed to continue in case you do not plan on running core (or plan on running an alternative like SPV Node)
Platform Notes
NanoPC T6
With the addition of Installation & Storage selection, we can now push out official beta NanoPC-T6 images. Currently, a MicroSD card is required for the initial installation. We suggest a 16GB or 32GB SDHC card (you may have issues booting an SDXC card).
Warnings / Notes
- Ethernet is required to be plugged in at first initial boot.
- The OS still has a hardcoded username and password. Please do not deploy your box on any unsecured network, as anyone may be able to login to your T6. This will be rectified in the next release with proper SSH key management.
- Wifi is currently not supported. Will be supported in a following release.
Installation Instructions
-
Download
dogebox-v0.3.0-beta-T6.img.gz
-
Unzip the file so you get the raw
.img
file. -
Write the
.img
file to a MicroSD card (there are many programs available to do this) -
Power the T6 up with ethernet and microsd inserted.
-
Visit the setup page.
-
Install the DogeboxOS to the EMMC partition (should be labelled
/dev/mmcblk2
)
If you have an NVME drive installed in your T6:
- During setup, select that nvme drive as your storage location (should be labelled
/dev/nvme0n1
)
ISO Images
We now provide both x86_64
and aarch64
images depending on the architecture you wish to run on. These images will force OS installation, so please ensure you have an addition disk to install to.
Virtual Machine Setup Instructions
Pup Changes
SPV Node
The SPV node pup provides "simplified payment verification" without downloading the entire blockchain.
Dogenet
- Removed Geolocation & Core logic to simplify
Identity
- New APIs added for fetching user profiles
Dogemap
- Added new backend to handle geolocation & core logic (ported from Dogenet)
- Many improvements to the performance of Dogemap.
- Green dots are now shown for all known Dogenet nodes (Dogeboxes)
- Preparation for displaying user identity profiles if configured
Dogebox v0.2.0-beta
Caution
Warning
Dogebox is currently in beta (heavy testing). Do not use it for any production workloads, and definitely don't send any money to addresses generated by it unless you have ensured key backups.
Features
Activity Log
You can now see what's happening when you install, start, stop, or change most system settings. This is especially important as some pre-provided pups (such as Dogecoin Core) take a long time to compile, and you can now see that things are still.. going!
Command Line Installer
There is now a bundled OS installer so you can provision a proper hard-drive with DogeboxOS (if required, such as when booting off an ISO image). See below for details.
Platform Notes
T6
An updated T6 image will come soon. We are working through issues with flashing the internal EMMC and not blowing away the bootloader. Please do not use the built-in installer to install onto the EMMC as you will brick your T6. One of us found out the hard way.
ISO
-
The ISO is set to be UEFI-only compatible, thus any machine/vm that only supports BIOS bootloader will not work.
-
You must install DogeboxOS to a separate harddrive first before configuring, as mounting/booting from most ISO images will result in a read-only root filesystem, which will not work.
Installing DogeboxOS to a hard drive
Caution
Warning
Installing DogeboxOS onto a separate harddrive will destroy the existing partition table on the selected disk, and you will lose all your information.
- Once booted, run
dbx get-disks
to list available targets. Find the disk you want install to. - Run
sudo _dbxroot install-to-disk --disk /dev/disk --dbx-secret yes-i-will-destroy-everything-on-this-disk
. Replace/dev/disk
with your selected disk. - Wait until installation has finished.
- Power off your machine.
- Remove/unmount the installation media
- Power back up and run through normal Dogebox setup.
Dogebox v0.1.1-beta (T6 v1)
Caution
Warning
Dogebox is currently in beta (heavy testing). Do not use it for any production workloads, and definitely don't send any money to addresses generated by it unless you have ensured key backups.
This release contains an alpha release of the Dogebox OS built specifically for the FriendlyElec NanoPC-T6.
Things to note / What does not work
These things will all be fixed in a following release. This release is for tinkerers that are happy to re-flash a couple of times before a stable T6 release.
- The T6 bootloader only supports booting from MicroSD cards that are 32GB and smaller (SDHC, not SDXC)
- There is no storage selector. You must manually install NixOS to the internal EMMC (or NVME drive, if you have one installed) if you want to install anything that requires more disk space (eg. Dogecoin Core)
- WiFi configuration during initial setup is currently not supported. The box must be connected to ethernet when you first boot Dogebox OS.
How to flash MicroSD
- Download the
.img.gz
file attached to the release. - Uncompress the image so you get the raw
.img
file. - On Linux & MacOS, use
dd if=
to write the file to the raw MicroSD device. - On Windows, use a raw image disk writer UI. There are multiple available.
How to Setup
- Ensure you have an ethernet cable plugged into your T6 box.
- Insert the MicroSD card
- Make sure the HDMI cable is plugged into
HDMI1
- Plug power in.
- Wait until the box finishes booting, this could take anywhere from 2 to 10 minutes.
- Once finished, login with the username
shibe
and the passwordsuchpass
- Run
ip addr
and take note of the address. - Visit
http://ip:8080
to start configuring your dogebox.
Dogebox v0.1.1-beta (ISO)
Caution
Warning
Dogebox is currently in beta (heavy testing). Do not use it for any production workloads, and definitely don't send any money to addresses generated by it unless you have ensured key backups.
This release contains an ISO image for both x86_64
and aarch64
that should allow booting on most platforms.
Things to note / What does not work
ISO
-
The ISO is set to be UEFI-only compatible, thus any machine/vm that only supports BIOS bootloader will not work.
-
You must install DogeboxOS to a separate harddrive first before configuring, as mounting/booting from most ISO images will result in a read-only root filesystem, which will not work.
Installing DogeboxOS to a hard drive
Caution
Warning
Installing DogeboxOS onto a separate harddrive will destroy the existing partition table on the selected disk, and you will lose all your information.
- Once booted, run
dbx get-disks
to list available targets. Find the disk you want install to. - Run
sudo _dbxroot install-to-disk --disk /dev/disk --dbx-secret yes-i-will-destroy-everything-on-this-disk
. Replace/dev/disk
with your selected disk. - Wait until installation has finished.
- Power off your machine.
- Remove/unmount the installation media
- Power back up and run through normal Dogebox setup.
Dogebox v0.1.1-beta
Caution
Warning
Dogebox is currently in beta (heavy testing). Do not use it for any production workloads, and definitely don't send any money to addresses generated by it unless you have ensured key backups.
What's changed?
Setup field validation
Hostname & other fields now have proper validation to prevent the user from entering values that would send the system into an invalid state.
Reflector Connection issue handling
We now display errors & suggestions for when you are not able to hit the reflector (https://reflector.dogecoin.org
) properly. This is only used to get your internal network IP address so that you can determine where you find your Dogebox.
Broken Pup Handling
We now properly handle broken pup states, allowing you to actually uninstall things that didn't install properly, instead of your whole system being broken :)
Options for logging websocket messages
You can now use the the developer configurator to enable logging all websocket messages.
Websites
- Launch website https://dogebox.dogecoin.org
- Documentation website https://dogebox-docs.dogecoin.org
Please join our DogeDev discord server for discussion, suggestions, and support.
How to Boot
- Download Virtualbox, or another OVA compatible VM launcher.
- Import the OVA image.
- Configure your network to use bridged mode.
- Launch the VM. This may take up to 10 minutes depending on your internet connection, to configure itself initially.
- Login with username:
shibe
and passwordsuchpass
- Run
ip addr
to get the IP address of the VM - On your computer, visit
http://ip:8080
to visit the setup experience.
Dogebox v0.1.0-beta
Caution
Warning
Dogebox is currently in beta (heavy testing). Do not use it for any production workloads, and definitely don't send any money to addresses generated by it unless you have ensured key backups.
This release fixes a number of bugs which have come out through testing and adds some new functionality required by actual Pups (GigaWallet, Identity, Dogenet etc). Pup management has improved greatly although there are still some cases where they can get stuck which we're working on.
Dogeboxd
- ssh key management APIs
- webUI port assignment (Pups can expose UIs)
- Pup web hook routes APIs
- Key delegation (All pups are delegated a priv key to their environment)
- Now uses reflector at setup
dPanel
- Fixed issue where frontend missed install event and Pups got stuck 'installing..'
- Display webUI buttons for pups with WebUIs (no iframe)
- Added Pup Logo support
- Setup now allows SSH keys for console access
- Added MIT disclaimer step at setup
- Removed a number of incomplete UI elements until they are ready
Pups
This release introduces a bunch of new Pups packaged:
- GigaWallet (payment gateway)
- Dogenet (Dogebox' experimental node network)
- Identity (Put yourself on the map!)
- DogeMap (explore the Dogecoin network)
Websites
- Launch website https://dogebox.dogecoin.org
- Documentation website https://dogebox-docs.dogecoin.org
Please join our DogeDev discord server for discussion, suggestions, and support.
New Features
SSH key can be set at setup
Setup uses the reflector service to find your IP after setting the network
Pup Logos and enhanced details
Identity Pup (testing)
Give your Dogenet Node an optional identity, and express yourself or your business on the DogeMap
DogeMap Pup (testing)
DogeMap super early preview will become a hub for finding businesses that accept Dogecoin!
How to Boot
- Download Virtualbox, or another OVA compatible VM launcher.
- Import the OVA image.
- Configure your network to use bridged mode.
- Launch the VM. This may take up to 10 minutes depending on your internet connection, to configure itself initially.
- Login with username:
shibe
and passwordsuchpass
- Run
ip addr
to get the IP address of the VM - On your computer, visit
http://ip:8080
to visit the setup experience.
Dogebox v0.0.3-dev-alpha
Caution
Warning
Dogebox is currently in a pre-alpha developer preview. Do not use it for any production workloads, and definitely don't send any money to addresses generated by it.
This release contains an OVA-Compatible virtual machine image. This image contains the foundation of the dogebox machine, but does not supply any pre-existing pups or other tooling. This image is an x86_64 compatible image, aarch64 and other architectures will soon follow.
Please join our DogeDev discord server for discussion, suggestions, and support.
Tip
All VM images currently have an account shibe
with a hardcoded password suchpass
New Features
Enhanced Pup Metrics
Metrics can now be returned as charts, text, and other formats by pups.
Pup Metadata
Pups can now have icons, descriptions, "upstream" software versions associated with them, to convey additional information to the end user.
Nix Rebuild Hardening
The OS will no longer break if a change gets half-applied, or someone has configured a pup incorrectly.
Dependency Improvements
Pups can now expose TCP interfaces (in addition to HTTP ones previously supported) to other pups, allowing for a much wider array of software support.
UI Fixed & Improvements
An array of changes to the UI improving functionality, information displayed, and more!
Pups
Dogecoin Core
- Now is correctly built with ZeroMQ support, and exposes the TCP ZMQ port as an interface for other pups to consume.
- Currently reports an array of metrics now.
Other pups to test
There are some other sources you can add to test functionality
s1w's test pups
Located at: https://github.com/SomeoneWeird/test-pups
tjstebbing's test pups
Located at: https://github.com/tjstebbing/pingpongpups
How to Boot
- Download Virtualbox, or another OVA compatible VM launcher.
- Import the OVA image.
- Configure your network to use bridged mode.
- Launch the VM. This may take up to 10 minutes depending on your internet connection, to configure itself initially.
- Login with username:
shibe
and passwordsuchpass
- Run
ip addr
to get the IP address of the VM - On your computer, visit
http://ip:8080
to visit the setup experience.
Dogebox v0.02-dev-alpha
Caution
Warning
Dogebox is currently in a pre-alpha developer preview. Do not use it for any production workloads, and definitely don't send any money to addresses generated by it.
This release contains an OVA-Compatible virtual machine image. This image contains the foundation of the dogebox machine, but does not supply any pre-existing pups or other tooling. This image is an x86_64 compatible image, aarch64 and other architectures will soon follow.
Please join our DogeDev discord server for discussion, suggestions, and support.
Tip
All VM images currently have an account shibe
with a hardcoded password suchpass
New Features
Source Management
You can now add sources to your dogebox environment, which will then let you use/install pups from that source.
Dependency Management
Pups can now specify dependencies on other pups. After installing a pup that requires a dependency, you can select or install something that satisfies the dependency.
Pup logging
The UI now streams logs from your pups, so you can see what they're doing in real time.
Pup metrics
The UI now shows metrics from your pups, so you can see how they're performing.
Pups
We now ship the source https://github.com/dogeorg/pups
by default so that your explore experience has pups on install.
Dogecoin Core Pup
We have wrapped the dogecoin core daemon as a pup. This pup is capable of running a full node, and can be used to sync the dogecoin blockchain.
It provides interfaces that other pups can depend on, such as:
- The core RPC interface
- The core ZeroMQ interface
Coming Next Week
Pup Admin UI
The ability for a pup to expose a secure web UI of it's own, accessible through Dogebox.
Pup Health Checks
Support for pup health-checks that give more details about the running pup's status.
Gigawallet Pup
Coming early next week. Will talk to Core pup to provide wallet functionality to Dogebox.
Dogenet Pup
Dogenet is a multi-protocol dogecoin node that connects Dogeboxes and provides a peer-to-peer network and cryptographic transport for developers to build new features that work along side the current Dogecoin network.
DogeMap Pup
DogeMap is a visual map of the world, moon & mars that will show the network of Dogecoin & Dogenet nodes. This will form the basis of a global catalogue of vendors selling things in Dogecoin, as well as anything else the community might be interested in exploring.
Identity Pup
Identity adds the ability to add a profile to your Dogenet node, which will appear on the DogeMap, this will let you link to your Socials like X.com, GitHub, your website, or tell us about the Products you're selling in Dogecoin.
Other pups to test
There are some other sources you can add to test functionality
s1w's test pups
Located at: https://github.com/SomeoneWeird/test-pups
tjstebbing's test pups
Located at: https://github.com/tjstebbing/pingpongpups
Screenshots
TODO
How to Boot
- Download Virtualbox, or another OVA compatible VM launcher.
- Import the OVA image.
- Configure your network to use bridged mode.
- Launch the VM. This may take up to 10 minutes depending on your internet connection, to configure itself initially.
- Login with username:
shibe
and passwordsuchpass
- Run
ip addr
to get the IP address of the VM - On your computer, visit
http://ip:8080
to visit the setup experience.
Limitations
There are a few known-broken things in this release.
- Safari experiences some broken state when finishing the initial setup experience. Use an alternative browser for now.
Dogebox v0.01-dev-alpha
Caution
Warning
Dogebox is currently in a pre-alpha developer preview. Do not use it for any production workloads, and definitely don't send any money to addresses generated by it.
This release contains an OVA-Compatible virtual machine image. This image contains the foundation of the dogebox machine, but does not supply any pre-existing pups or other tooling. This image is an x86_64 compatible image, aarch64 and other architectures will soon follow.
Please join our DogeDev discord server for discussion, suggestions, and support.
Tip
All VM images currently have an account shibe
with a hardcoded password suchpass
How to Boot
- Download Virtualbox, or another OVA compatible VM launcher.
- Import the OVA image.
- Configure your network to use bridged mode.
- Launch the VM. This may take up to 10 minutes depending on your internet connection, to configure itself initially.
- Login with username:
shibe
and passwordsuchpass
- Run
ip addr
to get the IP address of the VM - On your computer, visit
http://ip:8080
to visit the setup experience.
What you can do
This build contains the foundation services of the Dogebox architecture, but does not contain a lot of features for end-users to interact with the system just yet.
You can:
-
Complete setup of the system, including:
- Creating an initial password, used to encrypt your master key.
- Create your master key, including saving of your seed phrase.
-
Install a pup, from an existing source, including:
- Installation
- Enabling & Disabling of auto-start at boot
- Uninstallation
Limitations
There are a few known-broken things in this release.
- Safari experiences some broken state when finishing the initial setup experience. Use an alternative browser for now.
- You can't "do" much with pups right now. They will start as nspawn containers, but cannot yet expose themselves outside of the dogebox environment context. This should be resolved in the next few days as we expand capabilities of what pups can do.
How to install a PUP
Currently, dpanel
(our Dogebox UI) does not have support for managing a "source". A source is what supplies one or more PUPs into your explore tab in the UI.
For the moment, you can manually add a source, which will then let you use dpanel to install, start, stop, and uninstall pups.
To do this, you need to run a few command:
- First, determine the IP address of your virtual machine.
- Generate an auth token by sending a POST request to port 3000
/authenticate
with a JSON body of{ "password": "mypassword" }
- Add a source by sending a PUT request to port 3000
/source
with a JSON body of{ "type": "git", "location": "http://github.com/my/pup/source", "name": "my-source-name" }
Reload your UI, and you should see whatever pups are available pop up in your dashboard.
If you need an example pup, you can use/refer to https://github.com/SomeoneWeird/test-pup as a source.
Assuming no issues have occurred, you can login to the VM and run machinectl list
to see a list of your running pups.