---
Title: Self-Hosting
Type: Document
---
## Hardware Requirements

| Minimium                                 | Recommended                              |
| ---------------------------------------- | ---------------------------------------- |
| 10GB of Disk Space                       | 60GB of Disk Space                       |
| 512MB                                    | 4GB                                      |
| 1 Core                                   | 2 Core                                   |
| 10TB of Traffic (Unlimited is preferred) | 20TB of Traffic (Unlimited is preferred) |

## Installation

### Docker Compose Method (Recommended)

Please make sure that the Docker Engine is installed on your system before continuing.

Clone MinPluto somewhere on your system:

Terminal window

```
git clone https://sudovanilla.com/code/MinPluto/MinPluto/
```

cd MinPluto

Then, edit the included `config.json` file:

```
{
"SERVER_DOMAIN": "https://example.org",

"SERVER_ADMIN": "Company LLC",

"SERVER_LOCATION": "Undisclosed",

"STATISTICS": false,

"ANALYLICS_TOOL": "",

"ANALYLICS_ID": "",

"SCRIPT_SRC": "",

"DOMAIN": "example.org",

"DEFAULT_VIDEO_PROXY": "https://v.minpluto.org",

"DEFAULT_DATA_PROXY": "https://v.minpluto.org",

"DEFAULT_IMAGE_PROXY": "https://i.minpluto.org",

"DEFAULT_PLAYER": "Zorn",

"SIDEBAR_CATEGORIES": true,

"SIDEBAR_DISCOVER": false,

"MODIFIED": false,

"CUSTOM_SOURCE_CODE": ""

}
```

You should at the least edit `SERVER_DOMAIN` and `SERVER_ADMIN`. If you have an analytics tool that you use like Plausible or Umami, the configuration will work with them.

If you plan to make any changes to MinPluto on your instance, you must make it public and state what you’ve changed, and provide a link to the modified source code in `CUSTOM_SOURCE_CODE`.

You can now launch MinPluto:

Terminal window

```
docker compose up -d # sudo may be required depending on your setup
```

MinPluto should launch on the default port, which should be at [http://0.0.0.0:1930](http://0.0.0.0:1930). An image proxy is added to the Docker Compose file, which should be on port `1931`.

### Manual

You’ll need to install either NodeJS or Bun.

Clone MinPluto somewhere on your system:

Terminal window

```
git clone https://sudovanilla.com/code/MinPluto/MinPluto/
```

cd MinPluto

Then, edit the included `config.json` file:

```
{
"SERVER_DOMAIN": "https://example.org",

"SERVER_ADMIN": "Company LLC",

"SERVER_LOCATION": "Undisclosed",

"STATISTICS": false,

"ANALYLICS_TOOL": "",

"ANALYLICS_ID": "",

"SCRIPT_SRC": "",

"DOMAIN": "example.org",

"DEFAULT_VIDEO_PROXY": "https://v.minpluto.org",

"DEFAULT_DATA_PROXY": "https://v.minpluto.org",

"DEFAULT_IMAGE_PROXY": "https://i.minpluto.org",

"DEFAULT_PLAYER": "Zorn",

"SIDEBAR_CATEGORIES": true,

"SIDEBAR_DISCOVER": false,

"MODIFIED": false,

"CUSTOM_SOURCE_CODE": ""

}
```

You should at the least edit `DEFAULT_IMAGE_PROXY`, `SERVER_DOMAIN`, and `SERVER_ADMIN`. If you have an analytics tool that you use like Plausible or Umami, the configuration will work with them.

If you plan to make any changes to MinPluto on your instance, you must make it public and state what you’ve changed, and provide a link to the modified source code in `CUSTOM_SOURCE_CODE`.

All domains should NOT end with a `/`.

Install packages:

* [NPM](https://sudovanilla.com/docs/minpluto/selfhosting/#tab-panel-0)

* [Bun](https://sudovanilla.com/docs/minpluto/selfhosting/#tab-panel-1)

* [Yarn](https://sudovanilla.com/docs/minpluto/selfhosting/#tab-panel-2)

* [PNPM](https://sudovanilla.com/docs/minpluto/selfhosting/#tab-panel-3)

```
npm install
```

Then run:

* [NPM](https://sudovanilla.com/docs/minpluto/selfhosting/#tab-panel-4)

* [Bun](https://sudovanilla.com/docs/minpluto/selfhosting/#tab-panel-5)

* [Yarn](https://sudovanilla.com/docs/minpluto/selfhosting/#tab-panel-6)

* [PNPM](https://sudovanilla.com/docs/minpluto/selfhosting/#tab-panel-7)

```
npm start
```

MinPluto should launch on the default port, which should be at [http://0.0.0.0:1930](http://0.0.0.0:1930).

