The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
To self-host Evolution API, prepare a Linux VPS with Docker, configure PostgreSQL and Redis, place the current official Compose file and environment file on the server, then start it with docker compose up -d. The standalone example listens on port 8080. Use the image tag and variable names from the current official repository rather than copying an unverified community example.
What you are deploying
Evolution API runs as a containerized service. Your VPS supplies the operating system and Docker runtime; PostgreSQL stores the application’s durable data; Redis provides caching or related transient state when enabled. Docker Compose creates the containers, network, and persistent volumes described by the official deployment files.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
The supported installation path documented for a standalone server is a Compose deployment. The official example reads configuration from a .env file, mounts a volume for instances, exposes the API on port 8080, and starts in the background with docker compose up -d. A separate Docker Swarm example uses Traefik to route a domain and provide HTTPS.
Choose the deployment model first
| Model | What it provides | Best fit | Important limitation |
|---|---|---|---|
| Standalone Docker Compose | One VPS running the API and its supporting services, with configuration in .env and an instance volume |
A single server, a development installation, or a small production deployment you will operate yourself | The documented standalone example exposes port 8080; HTTPS is not supplied by Compose alone |
| Docker Swarm with Traefik | Container orchestration plus domain routing and TLS termination | A public deployment where the documented reverse-proxy and HTTPS workflow is desirable | More moving parts than a single-host Compose stack |
For a first VPS installation, use the standalone Compose procedure and put a properly configured reverse proxy in front of it when you publish a domain. Use the Swarm procedure when you specifically need the routing pattern documented by the project.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.
Prerequisites and planning
Linux VPS and administrative access
Provision a Linux VPS with a static public address, SSH access, and permission to install Docker. The official Docker deployment guide assumes Docker is already installed on the machine before you run the Evolution API stack.
No official CPU, memory, or storage minimum was identified. Hosting pages commonly advertise examples such as 1 vCPU, 4 GB RAM, and 50 GB NVMe, but those are plan descriptions rather than Evolution API requirements. Treat them only as a test starting point and watch actual memory, CPU, disk, and database growth.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Network and DNS
- Allow SSH for administration.
- Allow TCP 8080 only when you intentionally need direct access to the standalone API. Prefer exposing only your reverse proxy publicly.
- For a domain-based HTTPS setup, allow TCP 80 and 443 and point the DNS record at the VPS address.
- Do not expose PostgreSQL or Redis ports to the public internet. Keep them on the Docker network or a private network.
Backups and secrets
Decide where PostgreSQL backups will be stored before going live. Keep the API authentication key and database credentials in a password manager or another protected secret store; do not commit the .env file to a public repository.
Install and verify Docker
- Connect to the VPS over SSH.
- Install Docker Engine and the Docker Compose plugin by following the instructions for your Linux distribution.
- Verify both components before touching the application:
docker --version
docker compose version
Both commands should return a version instead of a “command not found” error. If the Compose subcommand is missing, install the Compose plugin rather than relying on an unrelated legacy docker-compose binary.
Prepare PostgreSQL and Redis
PostgreSQL is the documented database choice
The official documentation and a technical overview identify PostgreSQL as the required database for the documented deployment. A separate 2026 guide describes SQLite as a default and PostgreSQL as optional, but that conflicts with the official material. Follow the repository’s current Compose and .env.example files, and use PostgreSQL unless that version’s documentation explicitly says otherwise.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
You can run PostgreSQL in the same Compose project or use a separately managed PostgreSQL service. In either case, create a database and user dedicated to Evolution API, enable persistent storage, and record the connection details. When the API runs in a container, the database hostname must be reachable from that container; localhost means the API container itself, not the VPS host or another container.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Redis is optional in some descriptions, but commonly recommended
A DeepWiki overview describes Redis as optional but recommended. The official installation sequence nevertheless tells you to configure the supporting services before installing Evolution API. If you enable Redis, give it persistent storage until you understand the workload and version behavior, and ensure the API container can resolve its service hostname over the Docker network.
Do not assume that a Redis volume created by an older major image is compatible with a newer one. A community installation guide reports data-format conflicts in that situation. Match the Redis major version to the existing volume, or remove and recreate the Redis volume only after confirming that the data is disposable for your deployment.
Obtain the official Compose definition
- Open the Evolution API repository and locate the current standalone Docker Compose file and its matching
.env.example. The repository’s main branch contains adocker-compose.yaml; use the files that belong to the release you intend to run. - Copy the Compose file to a dedicated directory on the VPS, such as an application directory owned by your deployment user.
- Copy the example environment file to
.envin the same directory. - Inspect the image tag, service names, volume declarations, ports, and variable names before starting anything.
The published standalone example pins version v2.1.1. That is an example of a version-pinned deployment, not a promise that it is the newest release. Community instructions use different tags and variable styles, so do not merge snippets from different releases. Select a specific tag that the current repository documents, and record it so an upgrade is deliberate and reversible.
Set the environment variables
Use the exact names in the .env.example that accompanies your Compose file. The v2-style configuration documented by community examples uses these central settings:
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
| Variable | Purpose | How to supply it safely |
|---|---|---|
DATABASE_CONNECTION_URI |
Connection URI for the PostgreSQL database | Use the database service hostname or private endpoint, database name, user, and password required by your release |
CACHE_REDIS_URI |
Connection URI for Redis caching or transient state | Use the Redis service hostname or private endpoint and credentials, if configured |
AUTHENTICATION_API_KEY |
Secret used to authenticate API access | Generate a long, random value and keep it out of source control and shell history where possible |
Do not add, rename, or remove variables solely because another tutorial uses a different naming convention. Compare every key with the current official example. A variable can be syntactically valid yet ignored if the image version expects a different name.
Set file permissions so ordinary users cannot read secrets unnecessarily. If your Compose file references variables that are not listed above, configure those according to the same release-specific example rather than guessing their meaning.
Start the stack
- Change to the directory containing
docker-compose.yamland.env. - Check the rendered configuration for missing variables or malformed interpolation:
docker compose config
Correct any validation error before creating containers. This command does not prove that PostgreSQL or Redis is reachable; it only checks the Compose configuration after variable substitution.
- Start the services in detached mode:
docker compose up -d
- Check container state:
docker compose ps
- Read the API logs if a service is restarting or marked unhealthy:
docker compose logs --tail=200 evolution-api
The service name may differ in your release; use the name shown by docker compose ps when requesting logs.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsWait for migrations, then verify access
A community guide advises waiting roughly 30 seconds after startup before opening the manager because the database may still be migrating. Treat that as an observation, not a guaranteed delay: watch the logs and container health instead of repeatedly restarting the stack.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
Once the API container is running and the logs show no database initialization failure, test the endpoint through the local port or your reverse proxy. Supply the value of AUTHENTICATION_API_KEY wherever the API requires authentication. If the service is reachable locally but not from another machine, check the VPS firewall, cloud firewall, port mapping, DNS, and reverse-proxy configuration in that order.
Add HTTPS for a public endpoint
The standalone example’s port 8080 is plain HTTP. Do not treat that direct port as a finished public production interface when credentials or message data cross the network.
The project’s documented HTTPS route uses Docker Swarm with Traefik. In that arrangement, Traefik receives requests for your domain, obtains and renews certificates according to its configuration, and forwards traffic to the Evolution API service. Follow the repository’s Swarm example for the labels, networks, certificate resolver, and secret handling; those details are release- and deployment-specific.
If you stay with standalone Compose, you can place a separately managed reverse proxy in front of the API, terminate TLS there, and forward only the internal service. Keep the API’s direct port restricted by firewall rules so clients cannot bypass the HTTPS endpoint.
Secure the first production deployment
- Replace every example credential with a unique value, especially
AUTHENTICATION_API_KEY, database passwords, and Redis credentials. - Restrict inbound traffic to the ports you actually use. PostgreSQL and Redis should not be internet-facing.
- Run containers with the least host access allowed by the official Compose definition; do not add privileged mode or host mounts without a specific requirement.
- Pin an image tag instead of using a floating
latesttag. Record the tag, Compose file, and environment changes for each deployment. - Back up PostgreSQL on a schedule and test restoring a backup. Preserve the instance volume and understand which data is stored there.
- Update Docker images during a maintenance window. Read the release notes, back up first, pull the selected image, and recreate the stack deliberately rather than changing several variables at once.
Troubleshoot common failures
P1001: cannot reach the database
A GitHub issue reports a P1001 database connection failure with the latest image even when the dependency containers appeared healthy. No confirmed fix was established in that report. Start with the two highest-probability checks:
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
- Confirm that
DATABASE_CONNECTION_URIis spelled exactly as expected by the image and points to the Compose service name or private database endpoint, not an unreachable hostname. - Compare every database variable in
.envwith the official example for the selected image tag. Do not assume a variable accepted by one release is accepted by another.
Then inspect both sides of the connection: PostgreSQL logs, API logs, the Docker network, credentials, database existence, and whether the database is still starting. Recreate only after correcting the underlying configuration.
Redis starts with a data-format or volume error
This usually indicates that an existing volume was created by an incompatible Redis major version. Stop the stack, identify the image version and volume owner, and either run the matching major version or remove the volume after verifying that its contents are disposable. Do not delete a volume merely to make startup succeed if it contains state your application needs.
The manager or API is unavailable immediately after startup
Allow the initial migration and service initialization to finish; roughly 30 seconds is a reported guide-level estimate. Check docker compose ps and logs rather than repeatedly opening the browser. If the container is healthy but the browser cannot connect, check port publishing, the VPS firewall, DNS, and any reverse proxy.
Authentication fails after the service becomes reachable
Verify that the client is sending the same secret stored in AUTHENTICATION_API_KEY, without extra whitespace or shell quoting characters. If you changed the value in .env, recreate the API container so it receives the new environment, then retest over the HTTPS endpoint.
The container repeatedly restarts after an image update
Review the image tag and the environment-variable contract together. A newer image can require different names or connection formats. Roll back to the previously recorded tag if necessary, restore the database backup if a migration was applied, and consult the matching official Compose file before attempting another upgrade.
Operate the VPS after installation
Daily checks
- Confirm all expected containers are running with
docker compose ps. - Review recent API and database logs for restart loops, failed migrations, or authentication errors.
- Check disk usage, especially PostgreSQL data, Docker images, and application logs.
Backups
Back up PostgreSQL using a consistent database backup method and store copies outside the VPS. Back up the Compose file, the selected image tag, and a securely stored record of required environment variables. A community guide describes Redis as disposable cache data in its particular setup, but that assumption is workload-specific; verify it before excluding Redis from your recovery plan.
Quick Recap
Upgrades
- Read the release notes for the target Evolution API version and compare its Compose and environment examples.
- Take and verify a PostgreSQL backup.
- Record the current image tag and configuration.
- Change the tag and any required variables in a controlled maintenance window.
- Pull and recreate the stack, then watch migration and health logs before reopening traffic.
Pre-publication checklist
- Docker Engine and the Compose plugin return versions successfully.
- PostgreSQL is reachable from the API container and has persistent storage.
- Redis is configured when required by your chosen setup, with a compatible image and volume.
- The Compose file and
.envcome from the same documented release. DATABASE_CONNECTION_URI,CACHE_REDIS_URI, andAUTHENTICATION_API_KEYuse the exact names expected by that release.- The image tag is pinned and recorded.
- Containers remain healthy after the initial migration period.
- Direct database and Redis access is blocked from the public internet.
- Public traffic uses HTTPS through Traefik or another correctly managed reverse proxy.
- PostgreSQL backups have been created and a restoration procedure is known.
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.

