# How to create Public RPC Celestia

Firstly, you need the full or validator node installed and synchronized.

Modifying the config file in the directory $HOME/.celestia-app/config/config.toml

> You can use the default, then it will look like this:

```bash
[rpc]

# TCP or UNIX socket address for the RPC server to listen on
laddr = "tcp://127.0.0.1:26657"
```

And restart your node.

You buy a domain for yourself (for example, Namecheap). Create 2 rules: 1) In the A Record, write the IP address of the server on which the node is located. 2) In the CNAME record, write your domain name, which you purchased).\
Then, on the server with the node, install Caddy and, in its configuration, enter your domain and configure reverse proxy to 127.0.0.1:26657.

Edit Caddy config:

```bash
sudo nano /etc/caddy/Caddyfile
```

:80 replace with your DNS address. reverse\_proxy set the local address to 127.0.0.1:26657.

Example:

```bash
# The Caddyfile is an easy way to configure your Caddy web server.
#
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
#
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace ":80" below with your
# domain name.

<your_domain_name>  {
	# Set this path to your site's directory.
	# root * 

	# Enable the static file server.
	#file_server

	# Another common task is to set up a reverse proxy:
	 reverse_proxy 127.0.0.1:26657

	# Or serve a PHP site through php-fpm:
	# php_fastcgi localhost:9000
}

# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile
```

Reload Caddy:

```bash
sudo systemctl reload caddy
```

Everything is ready. It remains to wait until your domain is visible to everyone on the internet (you can check it here: [dnschecker.org](http://dnschecker.org/)).
