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 plxtraexitSwitch 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.gzIf 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.gzIf 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
xospdirectory: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.jsonfile and change theRootDomainNamevalue 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 installThe 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