This repository contains a shell script to quickly set up an all-in-one media server with Docker containers. The script installs Wireguard (optional), sets up Docker containers for various media server applications, and creates a Cloudflare tunnel (optional). It uses Wireguard to link this VPS with another, likely local, server with various other applications. It uses the Cloudflare tunnel to not expose its own IP and ports to the internet for security.
I made this script to easily and quickly set up a new VPS. I switch between different VPSs sometimes, so I wanted an easy way to get everything going again.
The script automatically configures and starts the Docker containers for the following services:
- Portainer
- NGINX Proxy Manager
- Organizr
- Overseerr
- Tautulli
- Watchtower
- A Linux system with root access
- Docker and Docker Compose installed
- A Cloudflare account with an active domain (if using the Cloudflare tunnel)
- Clone this repository to your local machine:
git clone https://github.com/bitnotfound/VPS-All-in-One-Setup.git
- Change directory to the repository:
cd serversetup
- Make the script executable:
chmod +x serversetup.sh
- Run the script with sudo or as root:
sudo ./serversetup.sh
-
Follow the on-screen prompts to install Wireguard (optional), set up Docker containers, and create a Cloudflare tunnel (optional).
-
Once the script is complete, you will receive the web UI URLs for each container and your public IP address.
-
If you have set up a Cloudflare tunnel, add the provided CNAME to your Cloudflare DNS settings.
After running the script, you can access the web UIs for each container using the URLs provided. To manage your Docker containers, use Portainer, which is accessible via the provided URL.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.