AusCAT Infrastructure Requirements#
This document outlines a typical AusCAT setup. These requirements are flexible and the system can be run outside of these recommendations. For more information please discuss with your centre’s AusCAT contact.
Server Hardware#
Note: please read the machine setup and workflow guide first before continuing with this guide, to understand the machines required for an AusCAT node.
Minimal Specs (Updated 2025)#
This specification outlines the recommended entry-level or minimum hardware for centres participating in AusCAT projects. The setup is suitable for running virtual machines that handle data processing, conversion, segmentation, and other machine learning tasks.
Component |
Recommendation |
Vendor Example |
---|---|---|
CPU |
12 cores |
Intel Core i7-14700 (20 threads) |
RAM |
32 GB DDR4 or DDR5 |
Crucial Pro |
Primary Storage (OS & Software) |
1x 1 TB NVMe SSD |
Samsung 980 Pro |
Data Storage |
1x 2 TB SSD |
Seagate IronWolf |
GPU |
A CUDA-enable GPU, suitable for computationally intensive medical imaging tasks is highly recommended |
NVIDIA RTX 4090 |
Host OS |
Preferred for long-term security and virtualization support |
Microsoft Windows Server 2022 |
Typical cost (note this can vary significantly over time and by vendor): $3,000–$5,000 AUD
Optimal Specs (Updated 2025)#
A typical centre’s server hardware to be installed and run in-house has approximately the following specification:
Component |
Recommendation |
Vendor Example |
---|---|---|
CPU |
24 cores (dual CPU setup @2.4Ghz 12 Cores) |
2x Intel Xeon Silver 4314 |
RAM |
128–256 GB ECC DDR4/DDR5 |
Kingston Server Premier |
Primary Storage (OS & Software) |
2x 2 TB NVMe SSD (RAID 1) |
Samsung 980 Pro |
Data Storage |
4x 8 TB SATA SSD OR 8x 4 TB HDD (RAID 5/6) |
Seagate Exos |
GPU |
High-end CUDA-enabled GPU for large-scale deep learning |
NVIDIA RTX 6000 Ada Generation |
Host OS |
Recommended for security, virtualization, and lifecycle |
Microsoft Windows Server 2022 |
Typical cost (note this can vary significantly over time): $20,000–$30,000 AUD
This hardware will typically be installed and managed by your IT department. They will usually install Microsoft Windows Server 2022 where you can then create one or more Virtual Machines to run AusCAT services.
Virtual Machine (VM) Configuration#
The server will host one or more Ubuntu-based VMs that will run the AusCAT pipelines and tools (e.g., data setup, pre-processing, analytics etc.). The following specifications are typically recommended:
Component |
Minimum-Specs VM |
Optimised VM |
---|---|---|
vCPUs |
4/8 virtual CPU Cores |
24 virtual CPU Cores |
RAM |
8/16 GB (depends on server capacity) |
64–128 GB (depends on server capacity) |
Primary Disk |
128–256 GB (fixed size, stored on the faster SSD) |
512 GB (fixed size, stored on the faster SSD) |
Data Disk |
1 x dynamically expanding virtual disk (stored on the slower SSD) |
1 x dynamically expanding virtual disk (stored on the slower SSD) |
OS |
Ubuntu Desktop 22.04 (Support GUI) |
Ubuntu Desktop 22.04 (Support GUI) |
⚠️ Note on RAM Allocation: The total RAM allocated to all Virtual Machines must not exceed the physical RAM available on the host server. For example, if the server has 32 GB RAM, you can allocate a maximum of 24–28 GB across all VMs (leaving some for the host OS).
GPU Passthrough: Follow these instructions to pass through the GPU to this VM if you have one.
Cloud Solution#
Many organisations are now enabling use of cloud resources (such as Azure or AWS) within their internal network.
If you are unsure about cloud solutions, it’s best to discuss this with your IT department.
Virtual Machine setup in the cloud is somewhat more complicated than when hosting the infrastructure in-house. This is because certain cloud resources can be quite costly, so multiple VMs with differing resources can be setup on only turned on when needed.
Network Proxy#
To streamline installation and deployment of the AusCAT tools, your will require access to certain locations via your organisations proxy.
Otherwise you will need to request the following locations to be whitelisted for your server within your organisation:
Ubuntu
archive.ubuntu.com
au.archive.ubuntu.com
security.ubuntu.com
archive.canonical.com
repo.mongodb.org
keyserver.ubuntu.com
changelogs.ubuntu.com
Docker
*.docker.io
*.docker.com
Portainer
*.portainer.io
*.portainer.com
GitHub
*.github.com
*.github.io
*.ghcr.io
VM Proxy Configuration#
There are multiple spots you should define your proxy within the Ubuntu Virtual Machine:
Apt Config#
Create a file named: /etc/apt/apt.conf.d/proxy.conf
(You will need to use sudo
to write to this location).
Add the following information into this file, replacing the configuration with your proxy config:
Acquire::http::Proxy "http://proxy_host:proxy_port/";
Acquire::https::Proxy "https://proxy_host:proxy_port/";
Then run:
sudo apt update
and ensure that there are no errors.
Git (GitHub)#
Access via SSH#
Add the following to your SSH config (located at ~/.ssh/config):
Host github.com
User git
ProxyCommand nc -x proxy_host:proxy_port -Xconnect %h %p
And be sure to setup SSH keys between your GitHub account and your VM.
Access via HTTP#
If you use Git via HTTP, you can configure the proxy via the command line:
git config --global http.proxy http://proxy_host:proxy_port
You may also have to skip SSLVerify (depending on your proxy setup, if this is needed access via SSH is preferred)
git config --global http.sslVerify false
Docker#
We use Docker to deploy ready to go containers which run the AusCAT software. Follow these instructions to install Docker within your Ubuntu virtual machine. We also have a guide for installing Docker in a simulation (not suitable for production) environment which can be found here.
Docker installation in secure environments#
In some secure and locked-down environments, there may be more than one proxy available. One proxy may not required authentication, but it will be more restrictive in what traffic can get through. This is the proxy where ideally the URLs listed above would be whitelisted.
You can setup the proxy on your VM for your local account by editing the ~/.bash_profile
file and adding these these lines:
export http_proxy=http://proxy_host:proxy_port
export https_proxy=http://proxy_host:proxy_port
export no_proxy=localhost, 127.0.0.1
In scenarios where this does not work, you may need to add the other proxy, with authentication to your config. In the example of installing Docker, you would modify /etc/apt/apt.conf.d/proxy.conf
to:
Acquire::http::Proxy "http://username:password@proxy_host:proxy_port/";
Acquire::https::Proxy "https://username:password@proxy_host:proxy_port/";
NOTE: If an error of the form “
SSL routines::unexpected eof while reading
” appears when running Docker commands, you can fix this by updating the SSL package on your VM by running:sudo apt update && sudo apt upgrade -y
Once Docker has been installed, to access Dockerhub images, Docker proxy access must be configured. Add the following lines to the file /etc/systemd/system/docker.service.d/http-proxy.conf
:
[Service]
Environment="HTTP_PROXY=http://proxy_host:proxy_port"
Environment="HTTPS_PROXY=http://proxy_host:proxy_port"
Environment="NO_PROXY=localhost,127.0.0.1"
Then restart the docker service:
sudo systemctl daemon-reload
sudo systemctl restart docker