DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
FREEDOM251

Freedom251 › Blog › HTTPS

How to Self-Host Odoo and Run It on Port 80 With Nginx

By Freedom251 Team · · 12 min read

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Self-host Odoo by keeping the Odoo service on a private address such as 127.0.0.1:8069 and putting Nginx in front of it. Nginx listens on port 80 only long enough to redirect visitors to HTTPS, terminates TLS on port 443, forwards the normal application traffic to Odoo, and sends realtime requests to the worker endpoint required by your Odoo release. Enable Odoo proxy mode, pass the forwarded headers, and leave PostgreSQL and Odoo’s internal ports off the public internet.

What “run Odoo on port 80” should mean

Odoo normally serves HTTP on port 8069. Making it the public service on port 80 is the wrong production design: privileged ports, cleartext authentication, and direct exposure of the application make hardening and maintenance more difficult. The safer interpretation is that users reach your domain through the standard web port while Nginx handles the public edge.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Port 80: Nginx accepts HTTP and redirects every request to HTTPS.
  • Port 443: Nginx presents the certificate and proxies requests to Odoo.
  • Port 8069: Odoo’s ordinary HTTP service, bound to localhost or an internal network address.
  • Realtime endpoint: A separate long-polling or gevent/websocket service, depending on the installed Odoo release.

Odoo’s deployment guidance states that production authentication traffic must use HTTPS. Proxy mode should be enabled only when every public request reaches Odoo through a trusted reverse proxy; enabling it while users can bypass Nginx lets clients forge the forwarded identity and scheme headers.

Architecture and request flow

A request to http://odoo.example.com first reaches Nginx on port 80. Nginx returns a permanent redirect to the HTTPS URL. The browser then connects to Nginx on port 443, where TLS is terminated. Nginx forwards the request to the private Odoo upstream, preserving the original host, client address, and protocol in forwarded headers. Odoo generates links and security decisions from those headers because proxy mode is on.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Realtime features take a different path. Discuss, live chat, bus notifications, and other browser updates may use long polling in older releases or websocket/gevent workers in newer ones. If Nginx sends those requests to the ordinary 8069 service, pages may load while notifications remain delayed or fail altogether. Your proxy configuration must match the path and port documented for the exact Odoo version you installed.

Plan the host before installing

Choose a supported Linux server

Install Odoo and PostgreSQL on a supported Linux host. A single machine is practical for a small deployment, but keep the database, filestore, and application process on reliable storage and arrange backups to another system. Confirm that your host permits the PostgreSQL version and worker model required by your Odoo release.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Reserve a hostname and DNS record

Create a DNS record such as odoo.example.com pointing to the server’s public address. Use the same hostname in the Nginx server_name directive and in the certificate request. If the server is behind a cloud firewall or router, forward TCP 80 and 443 to Nginx; do not forward 8069, the realtime port, or PostgreSQL.

Decide where state will live

  • PostgreSQL stores business data and must be included in consistent database backups.
  • Odoo’s filestore contains attachments and generated files; a database-only backup is incomplete.
  • Keep backup copies off the Odoo host and periodically perform a restore test.

Install Odoo and PostgreSQL

Install PostgreSQL and Odoo using the package or source method supported by your chosen Odoo release. Create the PostgreSQL role and Odoo configuration during installation, then verify that Odoo can connect to the database before adding Nginx. The exact package names and service units vary by distribution and Odoo edition, so follow the release’s installation instructions rather than mixing packages from different versions.

  1. Update the Linux host and install PostgreSQL from a supported repository.
  2. Install the matching Odoo release and its Python dependencies.
  3. Start PostgreSQL and Odoo, then check each service’s status and logs.
  4. From the server itself, request http://127.0.0.1:8069. The Odoo database selector or login page should answer before you expose a public hostname.
  5. Bind Odoo’s HTTP listener to localhost or an internal address. A public interface is unnecessary when Nginx runs on the same host.

Do not treat a successful local page load as a production readiness test. Worker mode, proxy settings, TLS, realtime routing, firewall rules, and backups still need to be configured.

Configure Odoo for production

Enable multiprocessing workers

Set a nonzero workers value for a production Linux deployment. Odoo’s planning rule is (CPU count × 2) + 1; its documentation also uses approximately six concurrent users per worker as an initial estimate. These are sizing heuristics, not guarantees. Module behavior, database queries, scheduled jobs, imports, and hardware can change the result, so monitor CPU, memory, response time, and worker recycling after launch.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Budget memory conservatively

Odoo’s documented example estimates about 1 GB of RAM for a heavy worker and about 150 MB for a lighter worker under its stated assumptions. Leave additional memory for PostgreSQL, Nginx, the operating system, cron activity, and filesystem cache. A worker count that fits only on paper can trigger swapping and make every request slower.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Turn on proxy mode

In the Odoo configuration file, set:

proxy_mode = True

The equivalent command-line switch is --proxy-mode. Use this setting only when Odoo is protected by the trusted Nginx proxy and its internal port cannot be reached by untrusted clients. Restart Odoo after changing the configuration and confirm in the startup log that the intended configuration file was loaded.

Set limits deliberately

Choose CPU, memory, request, and timeout limits appropriate to your host and workload. Long reports, imports, and file operations may need more time than ordinary page requests. Raising every limit without measuring can allow one request to exhaust a worker; set limits, observe failures, and adjust the specific operation that needs more capacity.

Build the Nginx reverse proxy

Define the private Odoo upstream

Create an Nginx configuration that names the local Odoo HTTP service. The official pattern uses 127.0.0.1:8069:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
upstream odoo_http {
    server 127.0.0.1:8069;
}

If Odoo and Nginx are on separate hosts, replace the address with a private network address and restrict that address with firewall rules. Never use a publicly reachable address merely because it is convenient.

Redirect port 80 to HTTPS

The port-80 server should not render an Odoo login page. It should issue a permanent redirect:

server {
    listen 80;
    server_name odoo.example.com;
    return 301 https://$host$request_uri;
}

This is how the deployment satisfies the familiar “Odoo on port 80” request without sending credentials over cleartext HTTP. If you have several hostnames, list only the names that should serve this Odoo instance and redirect any aliases intentionally.

Proxy the HTTPS application server

The TLS server listens on 443 and forwards ordinary requests to the upstream:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
server {
    listen 443 ssl;
    server_name odoo.example.com;

    ssl_certificate     /etc/letsencrypt/live/odoo.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/odoo.example.com/privkey.pem;

    location / {
        proxy_pass http://odoo_http;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_read_timeout 720s;
        proxy_connect_timeout 720s;
        proxy_send_timeout 720s;
    }
}

The certificate paths above are an example layout; use the paths created by your certificate tool. The important forwarded headers are X-Forwarded-Host, X-Forwarded-For, X-Forwarded-Proto, and X-Real-IP. They let Odoo know which hostname the browser requested, which client address reached Nginx, and that the original connection was HTTPS.

If your Nginx version does not define $connection_upgrade, add a map in the HTTP context before the server blocks:

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

Use long read, connect, and send timeouts for Odoo workloads that generate reports or wait on long requests. Do not confuse a long timeout with a capacity fix; investigate slow queries and overloaded workers when requests routinely approach the limit.

Route long polling or websockets for your Odoo release

Releases using the long-polling endpoint

Older official examples send requests beginning with /longpolling to port 8072. Add a location before the general / location:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
location /longpolling {
    proxy_pass http://127.0.0.1:8072;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;
}

The separate service must be enabled by Odoo’s worker configuration. If nothing is listening on 8072, Nginx will return gateway errors and browser notifications will not work.

Newer releases using a gevent or websocket worker

Odoo 17 documentation describes routing websocket paths to the gevent worker or port. The exact URL path and port are release-specific. Follow the documentation for the version installed on your server, then create a dedicated Nginx location that sets websocket upgrade headers and points to that gevent endpoint. Do not copy an older /longpolling rule into a release that expects a different websocket path.

After changing the realtime location, test Discuss or live chat in two browser sessions. Send a message in one session and verify that the other receives it without a full-page refresh. Browser developer tools should show a successful long-poll request or websocket connection rather than repeated 404, 502, or connection-reset errors.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Obtain and renew TLS certificates

Use a certificate authority and an automated renewal method appropriate to your Linux distribution. Certificate issuance normally requires that the hostname resolve to the server and that port 80 or another challenge method be reachable. Keep the port-80 redirect in place after issuance; certificate automation can temporarily add challenge handling if required.

  • Confirm the certificate covers the exact Odoo hostname.
  • Reload Nginx after renewal so it reads the new certificate files.
  • Test both the HTTPS page and the redirect from HTTP.
  • Monitor renewal jobs and expiry dates instead of assuming a one-time setup remains valid.

Never disable HTTPS merely because a certificate renewal failed. Fix DNS, firewall, or challenge configuration while keeping authenticated traffic protected.

Firewall and exposure checklist

  • Allow public TCP 80 only for the redirect and certificate challenge needs.
  • Allow public TCP 443 for Odoo users.
  • Allow TCP 8069 only from localhost or the private proxy network.
  • Allow the long-polling or gevent port only from Nginx or the private network.
  • Allow PostgreSQL only from the Odoo host or explicitly required private application hosts.
  • Restrict SSH to administration networks, use key authentication, and keep the operating system patched.

Check listening sockets from the server and inspect the cloud provider’s security group as well as the host firewall. Closing a port in one layer does not protect it if another layer still permits access.

Validate the deployment in a safe order

  1. Validate Nginx syntax: run nginx -t. Correct missing semicolons, duplicate listeners, certificate path errors, and unknown directives before reloading.
  2. Reload Nginx: use your distribution’s service manager to perform a graceful reload, then confirm the service remains active.
  3. Test the local upstream: request http://127.0.0.1:8069 from the server. A failure here is an Odoo or local firewall problem, not a proxy problem.
  4. Test the redirect: request the HTTP hostname and verify a 301 response whose location begins with https://.
  5. Test login and assets: load the HTTPS site, sign in, navigate between modules, and check that JavaScript and CSS assets return successfully.
  6. Test long requests: run a representative report or import and watch Odoo and Nginx logs for timeout or worker-kill messages.
  7. Test realtime behavior: verify Discuss, live chat, and notifications in separate sessions; inspect the browser network panel for the expected long-polling or websocket endpoint.
  8. Check generated URLs: links, redirects, and cookies should use HTTPS and the public hostname, not http://127.0.0.1:8069.
  9. Review logs: correlate Nginx status codes with Odoo worker logs and PostgreSQL errors before changing several settings at once.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Diagnose common failures

502 Bad Gateway

Nginx cannot connect to the configured upstream. Confirm that Odoo is running, listening on the expected address and port, and not blocked by a local firewall. If ordinary pages work but realtime requests return 502, inspect the separate long-polling or gevent listener rather than changing the main upstream.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Redirect loops or wrong HTTP links

Verify proxy_mode = True, the X-Forwarded-Proto $scheme header, and that another proxy in front of Nginx is not overwriting the scheme. Proxy mode must not be enabled if users can reach Odoo directly, because untrusted clients could submit forged forwarded headers.

Login succeeds but the session immediately expires

Check that the public hostname is consistent across DNS, Nginx server_name, the certificate, and browser requests. Inspect cookie and redirect behavior in developer tools. Mixed HTTP/HTTPS links or an incorrect forwarded host can make a secure session appear invalid.

Discuss or live chat is stale

Confirm the release-specific realtime path, upstream port, websocket upgrade headers, and long read timeout. A configuration copied from an older Odoo release may send /longpolling to 8072 even though the installed release expects a gevent websocket route. Check Odoo startup logs to see whether the realtime worker actually started.

Large reports time out

Compare the request duration with Nginx’s read, connect, and send timeouts and Odoo’s request limits. Then inspect worker memory, CPU, and database query time. Increasing timeouts can prevent premature termination, but it cannot make an undersized host process more work safely.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Assets or file downloads fail

Look for permission errors in Odoo’s filestore and errors in the browser network panel. Confirm that the proxy passes the original host and protocol and that no overly restrictive location block intercepts asset URLs before the general application location.

Size workers and memory with measurements

Planning item Documented figure How to use it
Worker-count rule (CPU count × 2) + 1 Use as an initial production estimate, then tune from CPU, latency, and queue measurements.
Concurrent users Approximately 6 per worker Rough planning guidance; modules and request mix can reduce or increase the practical result.
Heavy worker memory About 1 GB Odoo’s documented example under its stated assumptions; reserve additional RAM for PostgreSQL and the operating system.
Light worker memory About 150 MB Odoo’s documented example under its stated assumptions; do not treat it as a universal per-worker guarantee.

Start below the theoretical maximum when memory is limited. Observe peak usage during imports, scheduled jobs, report generation, and normal user activity. Increase workers only when CPU and memory headroom remain available; otherwise, more workers can increase contention and swapping.

Backups, upgrades, and ongoing operations

Back up both database and filestore

Schedule database backups and copy the filestore together so attachments match the database records. Store copies off the host, protect them with appropriate access controls, and document retention. A backup that has never been restored is an assumption, not a recovery plan.

Upgrade one layer at a time

Read the target Odoo release notes and deployment documentation before upgrading. Confirm the supported PostgreSQL version, Python dependencies, worker/realtime behavior, and configuration directives. Take a tested backup, stage the upgrade when possible, and keep a rollback path.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Monitor the reverse-proxy boundary

  • Track Nginx 4xx and 5xx rates, upstream response time, and active connections.
  • Track Odoo worker restarts, memory growth, cron duration, and request failures.
  • Track PostgreSQL storage, connection usage, slow queries, and backup completion.
  • Alert before certificates expire and before disks fill.

Choosing hosting infrastructure

When comparing a virtual private server, dedicated machine, or another Linux host, evaluate the controls that affect Odoo rather than headline CPU counts alone:

  • CPU and RAM headroom: enough capacity for PostgreSQL, Odoo workers, cron jobs, and bursts.
  • Disk I/O: responsive storage for database writes, attachments, logs, and backups.
  • Backup and restore controls: off-host copies, retention, encryption, and a practical restore workflow.
  • Geographic region and latency: proximity to users and any external services Odoo calls.
  • Firewall support: security groups or network controls that can keep internal ports private.
  • TLS automation: a way to issue and renew certificates without manual outages.
  • Monitoring: visibility into host, database, worker, and proxy health.
  • Configuration freedom: permission to run the PostgreSQL and worker configuration your Odoo version requires.

The least expensive host is not necessarily the least costly choice if it lacks reliable backups, private networking, or enough memory for the worker model.

Production-ready checklist

  • Odoo answers locally on its private HTTP port.
  • PostgreSQL accepts connections only from required private hosts.
  • Nginx redirects port 80 to HTTPS and serves a valid certificate on 443.
  • The TLS proxy passes host, client, protocol, and real-IP headers.
  • proxy_mode = True is enabled only behind the trusted proxy.
  • The release-specific long-polling or websocket location reaches the correct worker.
  • Workers, memory limits, request limits, and timeouts have been sized for observed workload.
  • Login, assets, reports, Discuss, live chat, and notifications have been tested.
  • Firewall rules keep Odoo, realtime, and PostgreSQL ports private.
  • Database and filestore backups run off-host and have passed a restore test.
  • Certificate renewal, service health, disk usage, and error rates are monitored.

Bottom line

Expose Nginx, not Odoo, to the internet. Let port 80 perform an HTTP-to-HTTPS redirect, terminate TLS on 443, proxy ordinary requests to private Odoo port 8069, and route realtime traffic to the endpoint documented for your Odoo release. With proxy mode, forwarded headers, worker sizing, firewall rules, and tested backups configured together, self-hosted Odoo can provide a clean public URL without sacrificing the security or reliability of the application server.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

HTTPSLinuxNGINXOdooreverse proxyself-hosting

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.