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
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
You can run development, staging and production on one Ubuntu VPS, but only if each environment has its own service namespace, network, database, credentials and secrets. Put nginx or Caddy at the public edge, keep application services private, and expose only the hostnames and ports that users need.
Build one immutable release in CI, deploy that exact artifact to staging, verify it, then promote the same artifact to production. Backups, restore drills, monitoring and a tested rebuild plan determine whether this arrangement is safe enough for your workload; move production to another VPS when isolation, compliance, traffic or recovery requirements demand a smaller blast radius.
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 problemsThe target architecture
A practical small-team layout uses one current Ubuntu LTS VPS with three DNS names:
dev.example.comfor active development and integration work.staging.example.comfor release candidates and production-like verification.example.comfor production traffic.
Each environment should have a separate Compose project (or service namespace), directory, private network, environment file, database and least-privilege credentials. Nginx or Caddy is the only public application entry point. It terminates HTTPS and proxies requests to services bound to private container networks or localhost.
#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: 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.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
A VPS is a virtual machine that you operate yourself. DigitalOcean describes each Droplet as a new server that can run alone or as part of a larger cloud infrastructure, and its production setup guidance recommends SSH keys, a sudo non-root user, disabled password-based root access and a cloud firewall that restricts SSH (DigitalOcean production-ready Droplet guidance). Ubuntu’s server documentation covers SSH, firewalls, DNS, nginx, Docker, cloud images, databases, storage, monitoring and alerting (Ubuntu Server documentation).
The separation is logical rather than physical when all three environments share one VPS. A kernel failure, exhausted disk, compromised host account or provider outage can affect every environment. Treat the design as a cost-efficient starting point, not as the same isolation as three independent machines.
One VPS or separate VPS instances?
Choose the smallest architecture that meets your failure, access and compliance requirements. Document the decision before deploying.
| Decision axis | One VPS with isolated environments | Separate VPS instances |
|---|---|---|
| Blast radius | A host, kernel or storage failure can take down all environments. | A failure is more likely to remain confined to one environment. |
| Cost | Usually lower because compute, storage and administration are shared. | Higher because each machine has its own resources and baseline services. |
| Resource contention | Development jobs or staging tests can consume CPU, memory, disk I/O or database capacity needed by production. | Workloads have clearer resource boundaries. |
| Operations | One host, firewall and backup system are simpler to maintain. | More hosts mean more patching, monitoring, credentials and recovery procedures. |
| Compliance and access | Production data and non-production access share a host boundary. | Separate hosts make network and administrative controls easier to demonstrate. |
| Recovery objectives | A rebuild or provider outage affects all environments unless production backups and failover are independent. | Independent backups and hosts can reduce the recovery blast radius. |
| Scaling | Vertical scaling is straightforward until the host reaches its limits. | Production can be resized or moved without competing with development. |
Stay on one VPS when the application is small, the team can tolerate a shared failure domain, and access controls are strong. Move production to its own VPS when noisy-neighbor risk, regulatory separation, sustained traffic, recovery-time objectives or a need for independent maintenance outweigh the simplicity of one host.
Provision and harden the Ubuntu VPS
Start with a current Ubuntu LTS image from your VPS provider. Perform the hardening sequence while you still have console access, and keep an already-open session until the new SSH settings are verified. Ubuntu’s security guidance includes firewalls, AppArmor, user and group management, web servers, Docker, logging, monitoring and alerting (Ubuntu server how-to guides).
- Create a named administrative user. Log in with the provider’s initial account, create a named user, add it to the sudo group and install your SSH public key. Do not administer application processes as root.
- Verify key-based access. Open a second terminal and connect as the new user before changing SSH configuration. Keep the first session available for recovery.
- Disable password and direct root login. In the SSH server configuration, set password authentication off and prohibit direct root login. Reload SSH only after testing the syntax and confirming that key authentication works.
- Patch the base system. Apply the latest security updates, reboot when the kernel or critical libraries require it, and establish a regular patch window.
- Configure two firewalls. Use the provider’s cloud firewall to allow SSH only from your administration allowlist and allow public HTTP and HTTPS. Mirror the policy with the host firewall. Do not open database, cache, Docker daemon or internal administration ports to the internet.
- Restrict services to private interfaces. Bind application containers to an internal Docker network or localhost. The reverse proxy should be the only process accepting public application traffic.
- Review host protections. Enable and tune AppArmor where appropriate, remove unused packages and services, and keep administrative keys and sudo membership limited to people who need them.
A typical host firewall policy has three classes of traffic: SSH from a small management allowlist, TCP 80 and 443 from the internet, and unrestricted access only on internal container networks. Never treat a firewall as a substitute for authentication or application authorization.
Install the runtime and public edge
Choose a service model
Docker Engine with Compose is convenient when each environment needs repeatable dependencies and isolated networks. A language runtime with a process supervisor can be appropriate for a simpler deployment. Whichever model you choose, keep the runtime and its configuration in version control and avoid hand-editing production containers.
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
Install the reverse proxy
Install nginx or Caddy on the host, or run the proxy as a dedicated edge service. Configure one virtual host for each public name. The proxy should:
- Accept HTTP and HTTPS on the public interfaces.
- Redirect HTTP to HTTPS where appropriate.
- Present a certificate for the requested hostname.
- Forward only to the intended private service and port.
- Pass the original host and client protocol headers needed by the application.
- Apply request-size, timeout and rate limits suitable for the application.
Create DNS records for dev.example.com, staging.example.com and example.com that point to the VPS address. Issue certificates for the names that will be public and renew them automatically; monitor expiry so a renewal failure is detected before users see certificate errors. Development can remain private behind an allowlist or VPN if it does not need public access.
Create hard boundaries between environments
Use separate projects, networks and directories
Keep files in distinct paths such as /srv/app/dev, /srv/app/staging and /srv/app/production. Give each Compose project a unique name so container, volume and network resources cannot be confused:
Free tools Windows power users keep installed
One-click scans. No signup required.
docker compose -p app-dev --env-file /srv/app/dev/.env up -d
docker compose -p app-staging --env-file /srv/app/staging/.env up -d
docker compose -p app-production --env-file /srv/app/production/.env up -d
Each project should define its own private network and persistent volume names. Avoid a shared default network that allows a development container to discover production services. If a service must communicate across environments, make that connection explicit, authenticated and read-only where possible.
Separate configuration and secrets
Use a distinct environment file or secret-management mechanism for each environment. Store non-production values in protected CI variables or a secret store; restrict file permissions on the VPS; never commit secrets to the repository. Production credentials must not be copied into development or staging. Use different signing keys, API tokens, encryption keys, database passwords and third-party accounts so a non-production compromise cannot impersonate production.
Give each environment its own database
Run a separate database instance or an isolated database service for development, staging and production. A concrete VPS runbook also uses separate hostnames and a separate PostgreSQL database for each environment (VPS deployment runbook).
Separate databases prevent test migrations, seed scripts and accidental deletes from changing live data. Use separate database roles with only the privileges required by the application. Keep database listeners on private networks; do not publish the database port through the VPS firewall.
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.
Handle production-like data safely
Staging is useful only when its configuration and representative data resemble production, but copying a live database wholesale creates a privacy and security risk. Prefer synthetic fixtures. If production-derived data is necessary:
- Export only the tables and fields needed for the test.
- Anonymize names, email addresses, tokens, payment details and other personal or secret fields before import.
- Invalidate sessions, API keys, password-reset links and webhook credentials in the copy.
- Restrict staging access to the people and systems that require it.
- Define deletion and retention rules and apply them automatically.
- Record which transformations were applied so a future refresh is repeatable.
Development should normally use small synthetic datasets. Never make production data available through a developer’s default credentials or a publicly reachable debugging endpoint.
Build once and promote the same artifact
The safest deployment path is a promotion pipeline rather than separate builds for each environment:
- Commit or pull request: Run unit, integration, lint and security checks in CI.
- Build: Produce one immutable container image or release archive and tag it with a unique commit identifier. Push that artifact to a registry accessible by the VPS.
- Deploy staging: Update only the staging Compose project to the exact tag. Do not rebuild on the server.
- Migrate safely: Run database migrations using a dedicated migration identity. Prefer expand/contract migrations when the old and new application versions must coexist during a rollout.
- Check health: Wait for container health checks, verify the staging hostname, exercise critical user flows and inspect application, proxy and database logs.
- Gate promotion: Require an explicit approval or an automated policy gate that confirms tests, health and change authorization.
- Promote production: Deploy the same image digest or immutable tag to production, apply the compatible migration, and verify production health.
- Record the release: Store the artifact identifier, migration version, operator, time and rollback target with the deployment record.
Keep Compose files, proxy configuration, infrastructure definitions, migration scripts and deployment automation in version control. The deployment workflow described in the VPS runbook builds once per merge, deploys staging, gates on health and promotes the same tag (deployment runbook).
Design migrations and rollback before release day
A rollback is not simply starting an older container. If a migration removed or transformed data, the previous application may not understand the new schema. Use an expand/contract approach:
- Expand: Add backward-compatible tables or columns while the current version still runs.
- Deploy: Release code that can read the old and new representation, then backfill in controlled batches.
- Contract: After the new version is proven and the rollback window has passed, remove obsolete fields in a separate change.
Keep a known-good image tag and document the exact command or automation that returns traffic to it. Test rollback in staging with a representative database backup, including the case where a migration has already run. If rollback cannot safely reverse a data change, the recovery plan must be forward-fix, restore or both.
Backups, monitoring and recovery
Back up persistent state
Identify every persistent volume and external dependency: databases, uploaded files, object-storage metadata, certificates, encryption keys and deployment configuration. Back up databases and volumes on a schedule chosen from your recovery-point objective. Keep at least one copy outside the VPS and protect it with encryption and separate credentials. A backup that remains on the same disk as production does not protect against disk loss or host compromise.
Recommended Free Tools
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.
Define retention, encryption, access and deletion policies. Monitor backup jobs and alert on failure, missing files or unusual size changes. A successful backup job is not proof that the data can be restored.
Run restoration drills
Periodically restore into an isolated environment, verify database consistency, start the application against the restored data and measure how long the procedure takes. Record any manual steps, credentials, DNS changes and certificate actions. Update the runbook after every drill.
Monitor capacity and service health
Collect and retain application and reverse-proxy logs. Alert on:
- CPU, memory and disk pressure.
- Container restarts and failed health checks.
- Database connection saturation, replication or storage errors where applicable.
- Certificate expiry and failed renewal.
- Backup success and restore-test results.
- HTTP error rates, latency and unavailable upstream services.
Set disk alerts early enough to leave room for logs, database growth and a safe deployment. Rotate or ship logs to retained storage so an incident does not consume the same disk that the application needs.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Document a clean rebuild
Keep the provider image choice, firewall rules, DNS records, package installation, proxy configuration, secret bootstrap, database restore and deployment commands in a rebuild runbook. Store it outside the VPS. A rebuild should start from a clean image and recover from version-controlled configuration and tested backups, not from undocumented shell history.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Security checklist before exposing traffic
- Ubuntu LTS is patched and automatic security updates or a defined patch window is active.
- SSH keys work for named sudo users; password authentication and direct root login are disabled.
- The provider firewall and host firewall expose only administration SSH, HTTP and HTTPS.
- Database, cache, Docker and internal admin ports are private.
- Each environment has separate networks, Compose projects, directories, databases and credentials.
- Production secrets and data are inaccessible to development and staging.
- Debug mode, verbose error pages and development dashboards are disabled outside development.
- TLS certificates renew automatically and expiry is monitored.
- Backups are encrypted, retained outside the VPS and periodically restored.
- Logs, health checks, capacity metrics and backup failures generate actionable alerts.
- A known-good artifact, migration strategy and rebuild procedure are documented and tested.
Common failure modes and fixes
| Symptom | Likely cause | What to check and change |
|---|---|---|
| One environment can reach another database | Shared Docker network, published database port or reused credentials. | Inspect network attachments and port mappings, create separate networks, remove public bindings and rotate credentials. |
| Staging works but production fails immediately | Different image, secret, migration state or external dependency. | Compare the immutable image digest, environment variable names, migration version and health checks. Promote the exact tested artifact rather than rebuilding. |
| SSH access disappears after hardening | Incorrect key path, user permissions, firewall source range or SSH syntax. | Use the provider console, inspect SSH logs and firewall rules, restore the last known-good configuration, then test a second key-based session before closing the console. |
| HTTPS shows the wrong certificate | DNS points elsewhere, the proxy host rule is wrong or renewal served an old certificate. | Resolve each hostname, inspect proxy virtual-host matching and verify the certificate chain and renewal logs. |
| Deployments fill the disk | Old images, unbounded logs, database growth or forgotten volumes. | Measure disk usage, configure log rotation and image cleanup, retain required rollback artifacts, and expand storage before capacity becomes critical. |
| Rollback starts but data is incompatible | A destructive or non-backward-compatible migration ran. | Use the documented expand/contract plan, restore a tested backup when necessary, or forward-fix with a compatible release. Do not improvise a schema reversal during an outage. |
A repeatable operating workflow
- Open a change and run CI checks.
- Build one immutable artifact and record its identifier.
- Deploy that identifier to staging with environment-specific secrets.
- Run migrations, health checks and critical-flow tests.
- Review logs, resource use and database behavior.
- Approve or automatically gate promotion.
- Deploy the same artifact to production and verify service health.
- Monitor the release, retain the previous artifact and update the deployment record.
- After significant changes, perform or schedule a restore and rollback exercise.
Frequently asked questions
Can development, staging and production share one VPS?
Yes, for a small team that accepts a shared failure domain. Use separate projects, networks, databases, credentials and secrets, and move production to another VPS when capacity, compliance or recovery requirements make shared hosting unacceptable.
Should staging use its own database?
Yes. A separate database prevents tests and migrations from touching live data. Populate it with synthetic or carefully anonymized data rather than unrestricted production copies.
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.
Should I rebuild the image for each environment?
No. Build once in CI and promote the same immutable image or digest. Configuration, secrets and database endpoints vary by environment; the application artifact should not.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated 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 matchDo I need nginx or Caddy if the application listens on a public port?
A public reverse proxy centralizes HTTPS, hostname routing, security headers, limits and access controls. Keep application services private and expose only the proxy whenever practical.
What must be tested before calling the VPS production-ready?
Test key-only SSH access, firewall behavior, TLS renewal, staging-to-production promotion, database migrations, rollback, backup restoration, monitoring alerts and a clean rebuild from documented automation.
Frequently Asked Questions
How much capacity should one VPS have for all three environments?
No universal CPU, memory or storage size is established. Measure real application, database and build workloads, leave headroom for backups and deployments, and separate production when contention appears.
Can I expose the development hostname publicly?
Only if there is a clear need. Prefer an allowlist or VPN, disable debugging outside development, and protect every development endpoint with authentication.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →What happens if the VPS provider has an outage?
All environments on that host are affected. Keep recoverable backups outside the VPS and document a rebuild or migration path; independent production hosting reduces this shared failure domain.
Quick Recap
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.

