Your Vinted monitor works on your computer, but it stops as soon as you switch it off. This tutorial moves it to a Linux VPS so it runs day and night, restarts on its own after an error and sends its alerts to Discord. It works with a Python or Node.js monitor, whether you wrote it yourself or got it elsewhere.
1. Order the VPS and connect
A 2 GB Linux VPS is enough for a monitor (see our guide which VPS for a Vinted bot). Choose Debian 12 or Ubuntu 24.04. You receive the IP address and root password by email, then connect over SSH:
ssh root@YOUR_VPS_IP
On Windows, the ssh command works directly in PowerShell.
2. Prepare the server
Update the system and create a dedicated user: the monitor should not run as root.
apt update && apt upgrade -y
apt install -y git python3 python3-venv
adduser --disabled-password --gecos "" vinted
For a Node.js monitor, install Node.js instead:
apt install -y nodejs npm
3. Upload the monitor's code
The cleanest way is a private Git repository:
su - vinted
git clone https://github.com/YOUR_ACCOUNT/your-monitor.git monitor
cd monitor
Without Git, send the folder from your PC with scp -r monitor root@YOUR_VPS_IP:/home/vinted/, then give it to the user: chown -R vinted:vinted /home/vinted/monitor.
Then install the dependencies. In Python, inside a virtual environment:
python3 -m venv venv
venv/bin/pip install -r requirements.txt
In Node.js: npm install.
4. Discord alerts with a webhook
In Discord, open the channel settings, then Integrations → Webhooks → New Webhook, and copy the URL. If your monitor does not handle Discord yet, here is a minimal Python function to post a listing:
import os, requests
def alert(title, price, link, image=None):
embed = {"title": title, "url": link, "description": f"€{price}"}
if image:
embed["thumbnail"] = {"url": image}
requests.post(os.environ["DISCORD_WEBHOOK"], json={"embeds": [embed]}, timeout=10)
The webhook URL is secret: anyone who has it can post in your channel. It goes in an environment file in the next step, never in the code or on GitHub.
5. Keep it running with systemd
Back as root, create the environment file, readable by root only:
install -m 600 /dev/null /etc/vinted.env
echo 'DISCORD_WEBHOOK=https://discord.com/api/webhooks/...' > /etc/vinted.env
Then the service /etc/systemd/system/vinted.service:
[Unit]
Description=Vinted monitor
After=network-online.target
Wants=network-online.target
[Service]
User=vinted
WorkingDirectory=/home/vinted/monitor
EnvironmentFile=/etc/vinted.env
ExecStart=/home/vinted/monitor/venv/bin/python main.py
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.target
For Node.js, replace the ExecStart line with /usr/bin/node /home/vinted/monitor/index.js. Adjust the start file name to your project.
systemctl daemon-reload
systemctl enable --now vinted
systemctl status vinted
The monitor now starts with the server and restarts 15 seconds after a crash.
6. Monitor and update
- See what it is doing live:
journalctl -u vinted -f - Update the code:
su - vinted -c "cd monitor && git pull"thensystemctl restart vinted - Several monitors: one folder and one service per monitor (
vinted-fr.service,vinted-it.service…), each with its own environment file.
7. Good practices to avoid being throttled
- Keep a sensible interval between checks (20 to 60 seconds per search), with some randomness.
- After a 429 or 403 error, pause longer instead of retrying in a loop.
- Only watch the searches you really care about.
- Keep the firewall closed: the monitor opens its own connections and needs no inbound port.
Frequently asked questions
My monitor works on my PC but not on the VPS, why?
Check the log with journalctl -u vinted -n 50. The most common causes are a missing dependency, a wrong path in ExecStart or a variable missing from /etc/vinted.env.
Do I need to open a port on the VPS?
No. The monitor connects to Vinted and Discord on its own. A port is only needed if you add a web dashboard.
Can I run several monitors on the same VPS?
Yes, with one service per monitor. Plan for 4 GB of RAM for several monitors, and more if one of them drives a browser.
My monitor is Windows software, what should I do?
Choose a Windows VPS: connect with Remote Desktop, install the software as you would on your PC and leave the session open.










