Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

How to Add Persistent Storage to Coolify Applications

Configure persistent storage in Coolify so uploads, generated files, and application data survive container replacement. This guide covers mount types, exact paths, Compose files, permissions, previews, backups, and troubleshooting.
Length10 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To keep uploads, generated files, or database data when Coolify replaces a container, mount storage at the exact path where the application reads and writes it. In a standard Coolify application, open Configuration > Persistent Storage, add the appropriate mount, save, and redeploy. For Docker Compose resources, define the mount in the Compose file because that file is the storage configuration source of truth.

What persistent storage changes in Coolify

A Coolify deployment runs in a container that can be replaced during a redeploy, restart, update, or removal. Files written only to that container’s writable filesystem are therefore disposable. As the official guidance puts it, “Data written only to a container filesystem can disappear when Coolify redeploys or removes that container.”

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.

A persistent mount joins storage on the deployment server to a path inside the container. The application sees an ordinary directory or file at that destination, but the bytes are held outside the replaceable container layer. Only data written below the mounted destination persists. Saving a file elsewhere in the container does not make it durable.

The destination is application-specific. An image might use /app/uploads, /var/lib/example/data, /srv/app/storage, or another path. Do not select /app merely because it is common; use the image or application’s documented write location and match its spelling and capitalization exactly.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

Plan the mount before changing the deployment

Persistent storage is easiest to configure when you identify what must survive and who should control its source location.

  • Changing application data: uploads, generated media, caches that must survive, user content, and database files normally need a directory-backed mount.
  • One fixed file: a configuration file, policy, script, certificate bundle, or mapping file can use a file mount.
  • Storage ownership: decide whether Docker should choose the server-side location or whether an administrator needs a known host directory.
  • Deployment topology: note which server runs the application. Coolify storage is local to that deployment server; adding another server does not turn a local volume into shared storage.
  • Preview behavior: decide whether each preview needs isolated data or whether the application explicitly supports sharing it.
  • Recovery: plan backups separately. A mount protects against ordinary container replacement, not deletion, disk failure, corruption, or loss of the server.

How to add storage to a standard Coolify application

  1. Open the application in its Coolify project and select the intended environment.
  2. Open Configuration > Persistent Storage.
  3. Select Add, then choose Volume Mount, Directory Mount, File Mount, or Host File Mount.
  4. Enter the source location, or enter the managed file content when the selected mount type asks for it. Enter the exact Destination Path inside the container where the application reads and writes.
  5. Save the configuration.
  6. Redeploy or restart the application so the next container starts with the mount.
  7. Use the application to create a small, recognizable record or file. Confirm that it can read the data, then redeploy once more and verify that the same data is still present.

If the application writes to more than one independent location, add a mount for each location or change the application’s storage configuration so all durable data is under one mounted directory. Mounting a parent directory can also hide files that were baked into the image at that path, so make sure the application can initialize correctly with an empty or newly created mount.

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

Coolify mount types compared

Coolify choice Use it when Source control Path shape Host path required? Important considerations
Volume Mount Docker can manage the storage location and no fixed server path is needed Docker creates and manages a named volume on the deployment server Directory No Usually the simplest choice for application data; migration and inspection require handling the Docker volume rather than a familiar host directory
Directory Mount (bind mount) The application or operations process needs a known server directory You maintain the host directory Directory Yes Create the directory and set permissions before deployment; the container user must be able to read and write it
File Mount Coolify should manage one configuration or initialization file Coolify manages the supplied file content One file No fixed directory path, but a file destination is required The destination must be a file path, not a directory; it is not a substitute for an uploads or database-data directory
Host File Mount An existing server file must appear at an exact path in the container You maintain the source file on the server while Coolify stores the mount configuration One file Yes Keep the source file present and readable on the deployment server; use it for a specific file rather than a changing data tree

When a named volume is the better default

Choose a Volume Mount when the application only needs durable storage and there is no operational requirement to browse a particular host path. Docker creates a named volume on the server, which avoids tying the deployment to a hand-picked directory name. This is commonly appropriate for application data and database directories managed by the container.

When a directory or bind mount is necessary

Choose a Directory Mount when another host process, an administrator, or a migration procedure must use a specific directory such as /srv/my-app/uploads. Create that directory on the deployment server before the first deployment and assign ownership and permissions that match the user running inside the container. A bind mount does not automatically correct host permissions.

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed

When to mount a single file

Use File Mount for one managed configuration, script, policy, or mapping file. Use Host File Mount when the source already exists on the server and must be exposed at an exact container path. In both cases, the destination is the full file name, not the directory that contains it.

Find the application's real write directory

The most common persistence failure is a correct-looking mount pointed at the wrong destination. Inspect the container image documentation and the application's own storage settings. Look for separate locations for uploaded files, generated assets, sessions, logs, and database data. Some applications use an environment variable to set their data directory; configure that variable and mount the resulting path.

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.

Confirm whether the application writes relative to its working directory. A documented path such as /app/uploads is useful only if that image actually writes there. If the application writes to /data while the mount targets /app/data, the deployment will appear healthy but the files will remain ephemeral.

  • Check the image documentation for its declared data directory.
  • Check the application configuration for upload, media, storage, or database path settings.
  • Identify the user and group that perform the writes.
  • Mount the exact resulting path, including the leading slash and case.
  • Keep temporary caches outside the persistent mount unless they are intentionally part of the data set.

Docker Compose applications and one-click services

For a Docker Compose application or one-click service, the Compose file defines volume and bind-mount behavior. Add the mount under the relevant service, save the file, and reload the Compose configuration. Coolify can display parsed mounts, but it does not provide the same editable mount fields used by a standard application.

Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)

Named-volume example

services:
  app:
    image: example/app:latest
    volumes:
      - app-data:/app/data
volumes:
  app-data:

Here, app-data is a named Docker volume and /app/data is the container destination. Replace that destination with the path documented by the image.

Bind-mount example

services:
  app:
    image: example/app:latest
    volumes:
      - /srv/my-app/uploads:/app/uploads

The left side is a directory on the deployment server and the right side is the application path inside the container. Create /srv/my-app/uploads first and set its ownership and permissions for the container user. After saving the Compose file, reload the Compose configuration and redeploy.

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.

Keep the mount declaration in version control with the rest of the Compose file. Editing a parsed display in Coolify without changing the Compose source will not provide a durable configuration for the next reload.

Permissions and concurrent access

A persistent mount can be present and still fail because the process cannot write to it. Check the effective user and group inside the image, then make the volume or host directory readable and writable by that identity. Test both file creation and file reading; read-only access can make an upload appear to succeed until the application attempts to save metadata or a derivative.

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC

Do not share one writable directory between containers unless the application explicitly supports concurrent access and file locking. Two processes may overwrite each other, observe partial files, or corrupt a format that assumes a single writer. A shared read-only directory is a different case, but it still requires compatible paths and permissions.

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

Avoid broad host mounts such as /, /etc, /var/lib/docker, or /data/coolify. They expose far more of the server than the application needs and can allow an application mistake to alter the host or other deployments. Mount the narrowest directory or file that satisfies the application.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Preview deployments and storage isolation

Coolify gives preview deployments separate volume storage by default and appends a -pr-N suffix. Leave that suffix behavior enabled when previews must be isolated from production. A preview that writes to production storage can overwrite user files, run incompatible migrations, or leave test data mixed with live data.

Bind mounts receive analogous preview path suffixing by default. Review the resulting host path before deploying a preview, especially when scripts or external jobs expect a fixed directory. If a preview genuinely needs shared read/write data, document the concurrency and locking requirements and accept that it is no longer isolated; do not disable isolation merely to make a test convenient.

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.

Verify persistence instead of assuming it

  1. Deploy with the mount attached and wait for the application to become healthy.
  2. Create a test upload, generated file, or application record that is easy to identify.
  3. Close and reopen the application or otherwise confirm that it can read the new data.
  4. Redeploy the application, which creates a replacement container.
  5. Check that the test data remains and that new writes still work.
  6. For a Directory Mount, inspect the intended host directory. For a Volume Mount, use the deployment server's Docker administration process to confirm that the named volume is still attached; do not edit its files while the application is running unless the application supports that operation.

If the test disappears, first compare the application's actual write path with the destination path. If the path is correct, check permissions, the selected server, and whether a startup script copies an empty directory over the mount.

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

Persistent storage is not a backup

A mount protects against ordinary container replacement, but it does not protect against accidental deletion, disk failure, server loss, or corruption. Coolify can schedule file-level archives for eligible volume and directory mounts and can optionally copy those archives to S3-compatible storage. Treat those archives as one layer of a recovery plan, not as proof that every application state is restorable.

Database files require an application-aware backup workflow. A file-level archive taken while a database is writing may capture an inconsistent state. Use the database engine's supported dump or snapshot method, or stop writes and containers when that is the appropriate procedure. Store backups separately from the deployment server and test restoration on a separate destination; a backup that has never been restored is only an assumption.

Server locality, migration, and replacement

Volumes and local bind mounts belong to the server that runs the deployment. Connecting another server to the same Coolify instance does not make those files available there, and Coolify documents restrictions for multi-server applications that use persistent storage.

Before moving an application, identify every mount, create equivalent storage on the destination server, copy the data with the application stopped or quiesced when consistency requires it, and verify ownership. For a named volume, the migration process must export and restore the volume data; for a bind mount, the host directory and its permissions must be recreated. Update any external jobs or paths that refer to the old server.

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

Troubleshooting common failures

Symptom Likely cause What to check
Uploads vanish after redeploy The mount targets the wrong path, or no mount was attached Compare the destination with the application's documented upload path and repeat the write/redeploy test
Application starts but cannot save files Host directory or volume permissions do not match the container user Check the effective UID/GID, directory ownership, and write permission on the mounted path
Configuration file is treated as a directory A file mount was given a directory destination Set the destination to the complete file path, including its filename
Compose mount disappears after reload The change was made only in a parsed UI view Add the volume declaration to the Compose file, save it, and reload the configuration
Preview changes production data Preview storage was shared or its suffix was removed Restore the default preview suffix and use separate storage unless sharing is deliberately supported
Data is present on one server but missing after moving Local storage was not copied to the new deployment server Export or copy the volume or bind directory, restore permissions, and verify before switching traffic
Database restores with errors A raw file archive was captured during writes Use the database's supported backup format or stop writes during a consistent file-level capture

A practical decision checklist

  • Use a Volume Mount when Docker can manage the server-side location.
  • Use a Directory Mount when a known host directory is required and you can manage its permissions.
  • Use a File Mount for one file whose content Coolify should manage.
  • Use a Host File Mount for one existing server file at an exact container path.
  • For Compose, edit the volumes section in the Compose file rather than relying on parsed UI fields.
  • Mount the exact application write path, not a guessed parent or sibling directory.
  • Keep preview storage isolated unless the application explicitly supports safe sharing.
  • Test a write, redeploy, and test the read before declaring the setup complete.
  • Back up persistent data with a method appropriate to its file format, and practice restoration.

The durable setup is therefore specific rather than broad: choose the mount type that matches the data, attach it to the documented container path, give the container user the required access, and verify the result across a replacement deployment.

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.

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.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

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.