Recommended Free Tools
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.
The safest starting point for a new Ghost VPS is Ghost’s official ghost-docker tooling. It assembles Ghost, Caddy for web serving and TLS, and MySQL as a Compose-managed stack. You prepare a Linux server, install Docker 20.10.13 or newer, point a domain A record at the server, provide SMTP credentials, then clone the repository and start the services with the docker compose plugin. The first-run administrator setup is completed at /ghost on your domain.
The official Docker installation page is marked “preview,” so treat filenames and environment-variable details as version-sensitive. Check the current instructions at docs.ghost.org/install/docker and inspect the checked-out Compose files before deploying a production site.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →What the official Compose deployment includes
A Docker Compose deployment is a set of cooperating containers rather than a single Ghost process. The Ghost Foundation’s repository, github.com/TryGhost/ghost-docker, provides the deployment layout. The documented stack contains three core pieces:
- Ghost: the publishing application and its administrator interface.
- Caddy: the front-end web server and TLS layer. It receives requests for your domain and passes them to Ghost.
- MySQL: the database service used by the stack.
The repository also has optional services for ActivityPub and Analytics. Enable those only after the core site is working and only according to the current Compose files; the preview documentation does not establish that every optional service is enabled by default.
#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.
Compose coordinates pulling images, creating the network, starting containers and reconnecting them after a restart. It does not automatically harden the VPS, create off-server backups, monitor disk capacity or decide which image tag you should run. Those remain operator responsibilities.
Prerequisites and sizing
Required infrastructure
- Linux VPS: The official installation page recommends Ubuntu.
- Docker: Docker 20.10.13 or higher is listed in Ghost’s developer documentation.
- Domain: Create an A record for the hostname you will use and point it to the VPS address before requesting HTTPS.
- SMTP service: Ghost requires an SMTP email service for messages such as account invitations, password resets and other outgoing mail.
- Administrative access: You need SSH access with permission to install software and create
/opt/ghost.
Memory and CPU expectations
Published guidance is not completely consistent, so size the machine with the provenance of each number in mind:
| Guidance | Figure | How to use it |
|---|---|---|
| Ghost developer installation page | At least 1 GB of memory | Official minimum stated for the Ubuntu server. |
| DeployHQ guide | 1 vCPU and 2 GB RAM | Third-party sizing recommendation, not Ghost’s official minimum. |
| Community practice | About 2 GB RAM | A practical baseline often chosen to leave room for the database, Caddy and operating-system processes. |
A 1 GB VPS may satisfy the stated minimum, but 2 GB is the more conservative starting point for a normal production blog. Traffic, image processing, analytics and any optional services can change the requirement. Watch memory and disk usage after launch rather than assuming a small VPS will remain sufficient.
Prepare the VPS before cloning
Confirm DNS first
Publish the domain’s A record before starting the web stack. Caddy needs the public hostname to resolve to the VPS when it provisions and serves TLS. If the record still points elsewhere, the browser may show the old site, certificate issuance may fail, or the request may never reach your server. DNS changes can take time to appear at different resolvers, so verify that the hostname resolves to the VPS from a network outside the server.
Install and verify Docker
Install Docker Engine and the Compose plugin using the package method appropriate for your Ubuntu release, then verify both components. The official workflow uses the space-separated plugin command:
docker --version
docker compose version
Use docker compose, not the older hyphenated docker-compose, for the commands in the current Ghost instructions. Some older community tutorials were written for Ubuntu 18.04 and predate the Compose plugin; following their command syntax can produce a “command not found” error or invoke a different installation than the one you intended.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minutePlan access and secrets
Use a dedicated directory for the deployment and keep the environment file readable only by administrators. Database passwords and other credentials should be long, unique values; never paste them into a public repository or a support forum. A convenient local generator is:
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
openssl rand -hex 32
Generate separate values for each password instead of reusing one secret. Keep an encrypted copy in your organization’s password manager so you can restore the stack after a VPS failure.
Clone Ghost’s deployment repository
- Connect to the VPS over SSH.
- Clone the Ghost Foundation repository into the directory used by the official walkthrough:
git clone https://github.com/TryGhost/ghost-docker /opt/ghost - Change into the project directory:
cd /opt/ghost - List the files and read the repository’s README, Compose file, example environment file and Caddy configuration before editing anything. The Docker page is a preview, and exact filenames or variables can change.
The repository’s top-level folders include caddy and mysql-init. That layout is a useful confirmation that you cloned the intended project rather than an unrelated Ghost example.
Copy and edit the environment and Caddy files
The official procedure tells you to copy the supplied example .env and Caddyfile, then edit the copies. Do that from the files present in your checkout; do not assume an example filename if the repository has changed it.
Set the public domain
Replace the example hostname with the exact domain that has the A record pointing to this VPS. Keep the spelling, subdomain and protocol consistent. If you intend to publish at blog.example.com, do not configure Caddy for example.com and expect Ghost’s canonical URLs to correct the mismatch automatically.
Set database credentials
Enter the generated database name, user and password values wherever the example environment file requests them. The Ghost and MySQL services must use matching credentials. Do not invent additional variable names: use the keys supplied by the checked-out Compose file and its comments, because the image tag and template determine which settings are recognized.
Configure outbound email
Provide the SMTP host, port, username, password and sender details required by the current Ghost configuration. SMTP is a prerequisite even if you do not plan to send newsletters immediately; without working mail, administrators can be locked out of password-reset and invitation flows. Ask your mail provider whether it requires TLS, a specific port or an application password, and enter those values in the variables documented by your checkout.
Review Caddy’s hostnames
Make sure the Caddyfile refers to the same public hostname as .env. Caddy is the internet-facing service in the official stack, so an incorrect site label can cause a default response or a certificate for the wrong name. Preserve the proxy target and other directives shipped by the repository unless you understand the effect of changing them.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →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.
Validate and start the stack
Run the commands from /opt/ghost:
- Render the configuration and catch YAML or variable-substitution errors before containers are created:
docker compose config - Download the images referenced by the current Compose file:
docker compose pull - Start the services in the background:
docker compose up -d - Check whether the containers are running:
docker compose ps - If a service is restarting or unhealthy, read its output. Follow all services first, then narrow to the failing service name shown by
docker compose ps:docker compose logs -f
The first startup can take longer than later restarts while MySQL initializes and Ghost performs its initial setup. A container listed as “running” is not proof that the public site is ready; confirm that Caddy can reach Ghost and that the database has completed initialization.
Finish Ghost’s browser setup
Once the containers are stable and DNS resolves correctly, open the configured domain in a browser and append /ghost. Ghost’s setup screen asks you to create the first administrator account and site details. Use the SMTP address you configured so that the account can receive mail.
After creating the account, test both sides of the installation:
- Open the public root URL in a private browser window and confirm that the site loads over HTTPS.
- Sign in again at
/ghostand open the administrator area. - Create a short draft, upload a representative image and preview it. This confirms that the application can write content and that the proxy is passing requests correctly.
- Trigger a password-reset or invitation email to verify SMTP instead of assuming that saved credentials are enough.
If the browser displays a Caddy error rather than Ghost, troubleshoot the proxy and DNS path first. If the administrator page loads but content is missing after a restart, inspect the storage mounts in the Compose file before publishing more material.
Free tools Windows power users keep installed
One-click scans. No signup required.
Understand the request and data path
A visitor’s request should follow this path: DNS sends the hostname to the VPS; Caddy accepts the HTTPS connection; Caddy proxies the request to Ghost; Ghost reads or writes application data in MySQL and content storage; the response returns through Caddy. Keeping that model in mind makes failures easier to isolate.
| Layer | Primary responsibility | What to inspect when it fails |
|---|---|---|
| DNS | Maps your hostname to the VPS | The A record and the address returned by an external lookup. |
| Caddy | Public HTTP/TLS endpoint and reverse proxy | Hostname in the Caddyfile, certificate status and proxy target. |
| Ghost | Web application and admin interface | Ghost container logs, configured URL and SMTP settings. |
| MySQL | Persistent relational data | Database logs, credentials and initialization status. |
| Content storage | Images, themes and uploaded assets | Volume or bind mount definitions in the Compose file and filesystem permissions. |
The exact image tag used by the repository was not established in the available documentation. Read the current Compose file before writing a runbook, pinning an upgrade or making claims about a Ghost version. Avoid copying a tag from an old tutorial simply because the service names look familiar.
Optional ActivityPub and Analytics services
The official repository can enable ActivityPub and Analytics components, but they are optional. Start with the core Ghost, Caddy and MySQL services. Once that baseline is healthy, read the current environment and Compose examples for the optional components and enable only the services you need.
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.
Adding services increases memory use, configuration surface and backup scope. Record which profiles or variables you enabled so a future restore reproduces the same stack. Do not assume that an optional service is active merely because its directory exists in the repository.
Backups and routine operations
Back up both kinds of data
A database backup alone is incomplete. MySQL contains structured Ghost data, while the content storage holds uploaded images, themes and other files. Identify the database volume and Ghost content mount in the checked-out Compose file, then back up both. Store copies outside the VPS; a disk failure or accidental deletion can destroy local backups at the same time as the live containers.
Perform a restore drill on a separate environment before you depend on the backup. A backup that cannot be imported, or that omits uploaded assets, is not a usable recovery plan.
Update deliberately
- Read the current Ghost Docker instructions and the release notes relevant to the image tag you intend to use.
- Create and verify fresh database and content backups.
- Record the currently running image tags so you have a rollback reference.
- From
/opt/ghost, pull the replacement images and recreate the services withdocker compose pullfollowed bydocker compose up -d. - Watch
docker compose psand the logs until MySQL, Ghost and Caddy are stable. - Check the public site, administrator login, image uploads and email before declaring the upgrade complete.
Do not update by deleting the project directory or anonymous volumes. Container recreation is safe only when the data mounts defined by the Compose project are preserved and your backups are current.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Monitor the host
Check available memory, disk space and container restarts regularly. A small VPS can become unstable when logs, uploaded media or database files consume the disk. Compose reports container state, but it does not replace host-level monitoring or alerting.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshooting common failures
The domain shows the wrong site
Verify that the A record points to this VPS and that the browser is using the exact hostname configured in both the environment file and Caddyfile. Test from an external network to avoid relying on a cached local DNS answer.
HTTPS does not come up
Check that the domain resolves publicly and that Caddy is the service receiving web traffic. Read the Caddy logs for certificate or hostname errors. A certificate cannot be issued for a name that still resolves elsewhere or is misspelled in the configuration.
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.
Ghost cannot connect to MySQL
Inspect the MySQL container status and logs, then compare the database host, name, username and password in the Ghost and MySQL environment sections character by character. Startup ordering can make the first Ghost attempt fail while MySQL initializes; wait for initialization and review the logs before changing credentials.
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 & 11The proxy returns a 502 or gateway error
Confirm that the Ghost container is running and that Caddy’s upstream target matches the service name and port in the current Compose file. A proxy error is usually a reachability or startup problem, not a browser-cache issue.
Mail never arrives
Recheck the SMTP host, port, encryption mode, username, password and sender address required by your provider. Read Ghost’s logs for authentication or connection errors and test with a password-reset message. Saving SMTP variables without sending a real test leaves the most important failure undetected.
Uploads disappear after a restart
Inspect the Ghost service’s volume or bind mount. Files written only inside a disposable container layer will not survive replacement. The repository’s storage definition is authoritative for this release, so use it to identify the path that must be backed up.
Official tooling versus a hand-written Compose file
You can write your own Compose project with a Ghost service, database and a reverse proxy, but that choice changes what you must maintain.
| Decision point | Official ghost-docker |
Hand-written Compose |
|---|---|---|
| Initial setup | Provides a documented starting layout with Ghost, Caddy and MySQL. | You choose service definitions, networks, mounts and environment variables. |
| Proxy | Caddy is bundled in the documented stack. | You can select another proxy, but you must configure TLS and forwarding yourself. |
| Alignment with Ghost | Tracks Ghost’s own Docker installation guidance, although the page is currently marked preview. | May lag changes in image tags, startup behavior or required variables. |
| Customization | Limited to the options exposed by the repository’s files and supported overrides. | Maximum control, with a corresponding responsibility to test upgrades and recovery. |
For a first VPS, the official repository reduces the number of independent decisions. A custom file is reasonable when you have a specific proxy, network or orchestration requirement and can maintain the complete configuration yourself. Do not mix fragments from an old tutorial with the preview repository without checking service names, variables and image tags.
Important limits of the preview instructions
The Docker installation page is explicitly labeled preview. Revisit docs.ghost.org/install/docker immediately before deployment and whenever you upgrade. The available documentation does not establish a universal Ghost image tag, a maintainership policy for every image, or detailed backup and upgrade procedures. Those details should come from the current repository and Ghost documentation rather than assumptions copied from community posts.
The official minimum of 1 GB memory is not a performance guarantee. If the VPS begins swapping, containers restart, or requests time out, move to a larger plan after checking logs and resource usage. Treat the 2 GB practical baseline as planning guidance, not a promise of a particular traffic capacity.
Quick Recap
Deployment checklist
- Ubuntu or another supported Linux server is ready and reachable over SSH.
- Docker is version 20.10.13 or newer and the Compose plugin responds to
docker compose version. - The domain A record resolves to the VPS.
- An SMTP service and credentials are available.
- The repository is cloned in
/opt/ghost. - The example environment and Caddy files were copied using the filenames present in the checkout.
- The domain, database credentials and mail settings are filled in with unique secrets.
docker compose configsucceeds before startup.docker compose pullanddocker compose up -dcomplete without a restarting service.- The public site,
/ghost, image upload and a real email message have been tested. - Database and content backups are stored off-host and a restore has been practiced.
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.

