# Setup Remote Server

## Machine Specs

{% tabs %}
{% tab title="Minimum" %}
4 cores, 8GB RAM, 1TB storage, 8MBit/sec network bandwidth

Ubuntu, x86\_64, 1 TB SSD
{% endtab %}

{% tab title="Recommended" %}
8 cores, 16GB RAM, 1 TB SSD, 25 MBit/sec network bandwidth

Ubuntu, x86\_64, 1 TB SSD
{% endtab %}
{% endtabs %}

## Add Docker's official GPG key

```bash
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
```

## Add the repo to APT sources

```bash
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
```

```bash
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Not needed but just to check if docker is working
sudo docker run hello-world
```

## Install docker-compose

```bash
sudo snap install docker
sudo apt install -y docker-compose
```

## Install Solana

```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
export PATH="/home/ubuntu/.local/share/solana/install/active_release/bin:$PATH"
```

## Update Docker Permissions

```bash
sudo groupadd docker
sudo usermod -aG docker $USER
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock
```

## Log Out of SSH Session

```bash
logout
```

This will log you out of the SSH session. It is needed to reapply the permission updates.

## Open the EC2 Ports below

Use an EC2 security group to open the ports below.

* HTTP: 80
* HTTPS: 443
* Deposit UI: 3000
* Block Explorer: 1000


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rome.builders/legacy/rome-l2-setup/setup-your-l2/prep-remote-server/setup-remote-server.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
