Deploy Guide: Docker Standalone
This guide will cover installation of Plxtra XOSP on a standalone Linux machine running Docker, with both LetsEncrypt certificates and a Sample recording of exchange data being continuously replayed.
Specifications
Section titled “Specifications”Plxtra is a relatively light-weight installation, with the ability to scale as your needs grow. Basic hardware specifications are as follows:
Category | Minimum | Recommended |
---|---|---|
Architecture | x86-64 | x86-64 |
VCPUs | 2 | 4 |
Memory | 4GB | 8GB |
Storage | 10GB | 20GB |
We recommend a distribution supported by both Docker Engine and PowerShell. See the table below:
Supported OS | PowerShell | Docker |
---|---|---|
Debian 11 / 12 | Install | Install |
RHEL 8 / 9 | Install | Install |
Ubuntu 22.04 / 24.04 | Install | Install |
Installation
Section titled “Installation”To follow this guide you will need a terminal, and a user with membership in the docker
group.
Optional: Create a new user and group for managing the Plxtra installation
You will need a root account or sudo access:
su -
Create a new user plxtra
with docker
access:
groupadd plxtrauseradd -m -g plxtra -G docker plxtrapasswd plxtraexit
Switch to the plxtra
user to continue this guide:
su plxtra
-
Follow the instructions appropriate to your distribution to install Docker and PowerShell.
-
Start Powershell.
pwsh -
Create a folder
xosp
, which will be the location of your XOSP configuration files.mkdir xospcd xosp -
Download an XOSP source code release.
XOSP releases are available from GitHub. The latest release is recommended.
iwr (iwr https://api.github.com/repos/plxtra/xosp/releases/latest | ConvertFrom-Json | select -ExpandProperty tarball_url) -OutFile xosp.tar.gz
If you have the jq
tool installed, downloading the latest release is easy:
curl -s https://api.github.com/repos/plxtra/xosp/releases/latest | jq -r '.tarball_url' | xargs curl -Lso xosp.tar.gz
If you don’t have jq
, a slightly more complicated command will download the latest release:
curl -s https://api.github.com/repos/plxtra/xosp/releases/latest | grep '"tarball_url":' | grep -o 'https://[^"]*' | xargs curl -Lso xosp.tar.gz
-
Extract the source code release into the
xosp
directory:tar -xf xosp.tar.gz --strip-components=1 -
Configure your installation, specifying the profiles for LetsEncrypt and the Sample market.
./XOSP-Configure.ps1 LetsEncrypt SamplesThe script will inform you that you need to configure your root domain name. XOSP will use several subdomains beneath it.
-
Edit the
XOSP-Params.json
file and change theRootDomainName
value to your domain. Use whatever text editor you are familiar with.nano XOSP-Params.jsonXOSP-Params.json {"RootDomainName":"<Your Root Domain Here>"...} -
Run Configure again. This will apply your new domain configuration. No need to specify the profiles again - it’ll remember from last time!
./XOSP-Configure.ps1 -
Run Install. This will create all the containers, set them up according to the configuration, and retrieve the LetsEncrypt certificates for your domain.
./XOSP-Install.ps1
If all went well, your Plxtra XOSP installation should now be complete and accessible from the internet.
Finishing up
Section titled “Finishing up”There is one final step required, which is to schedule the LetsEncrypt certificate renewal. The XOSP-Renew.ps1
script is used to perform this task.
You can either schedule it manually to run every 90 days, or if your distribution is using systemd
, scheduling can be performed automatically with the following command:
./XOSP-Renew.ps1 install
The automated scheduling runs as the current user, rather than system-wide, so you will also need the lingering
option enabled for your user.
loginctl enable-linger $(whoami)
Next Steps
Section titled “Next Steps”- User Registration to begin adding new Users and Trading Accounts
- Symbol Registration to add some new symbols