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

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

Use Coolify’s Shared Variables feature to define a value once and reference it from applications, databases, and services in several projects. The key detail is that a shared definition is not injected automatically: every consuming resource must explicitly reference it with a scope-qualified expression such as {{team.NODE_ENV}} or {{environment.DB_HOST}}.

Choose the narrowest scope that covers all consumers, add the value in the Shared Variables area, place a reference in each resource’s Environment Variables settings, save, and then redeploy or restart according to whether the change affects the build or only runtime configuration. This keeps ownership and exposure predictable while avoiding copied secrets.

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

What Coolify shared variables do—and what they do not do

A shared variable is a named value managed centrally in Coolify. Resources resolve a reference to that value when their configuration is rendered. The same definition can therefore serve several applications or services without pasting the value into each resource.

Shared variables are scoped. Coolify recognizes four literal scope keywords: team, project, environment, and server. The scope controls where the value can be resolved, not merely how it is labeled.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • 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.

Creating a shared variable does not add an environment variable to every application, database, or service. Each consumer still needs a workload-facing key and a reference to the shared value. This explicit mapping prevents an unrelated resource from receiving a credential simply because it exists somewhere in the team.

Choose the correct scope

Start by listing every resource that needs the value and where those resources run. Then select the smallest scope that includes all of them. A smaller scope generally gives better isolation and makes the owner of a value easier to identify.

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.
Scope Reach Typical use Important boundary
team Resources in the active team A value intentionally reused by resources in multiple projects owned by that team Every project in the team can potentially reference it, so use it only for deliberate team-wide configuration
project Resources belonging to one project A default shared by several applications, databases, or services in that project Resources in other projects cannot resolve the project-scoped value
environment One environment within a project, such as staging or production Values that must differ between staging and production The reference resolves only in the matching project environment
server Resources deployed to the selected server Host-specific endpoints or settings when equivalent workloads run on different servers The value follows the server, not a project; moving a resource can change which value it resolves

For example, a database host used by two applications in one project but different hosts in staging and production belongs at environment scope. A registry endpoint used by resources in several projects in the same team may belong at team scope. A local monitoring address that exists only on one machine is a server-scope candidate.

Set up a shared variable in Coolify

  1. Open Shared Variables. In the Coolify sidebar, select Shared Variables.
  2. Select the scope. Choose Team wide, Project wide, Environment wide, or Server wide. Confirm that the selected project, environment, team, or server is the one that contains every intended consumer.
  3. Enter the name and value. Use the exact key that you will reference later, such as NODE_ENV, DB_HOST, or DATABASE_URL. Add an optional comment describing the owner, purpose, or rotation expectation.
  4. Select the right value type. Use the Multiline type for certificates, private keys, signed configuration blocks, and any value containing line breaks. Keeping line breaks in the stored value avoids damaging PEM boundaries or other structured content.
  5. Lock sensitive values when appropriate. A locked shared variable remains a reference rather than becoming a freely copyable secret value in the resource editor. Treat the lock as an access-control aid, not as a substitute for limiting who can deploy or inspect a workload.
  6. Save the definition. Saving creates the centrally managed value, but it does not yet put a variable into any workload.

Reference the value from each consuming resource

Open an application, database, or service that should consume the value and select its Environment Variables settings. Create the variable name that the process expects, then set its value to a scope-qualified reference.

Consumer key Reference example Meaning
NODE_ENV {{team.NODE_ENV}} Resolve the team-scoped variable named NODE_ENV
DATABASE_URL {{environment.DB_HOST}} Resolve DB_HOST from the current project environment
API_BASE_URL {{project.API_BASE_URL}} Resolve the project-scoped value for this resource’s project
METRICS_ENDPOINT {{server.METRICS_ENDPOINT}} Resolve the value associated with the server running the resource

The word inside the braces must be the literal scope keyword, not the name of your team, project, environment, or server. For a team-scoped value, write {{team.NAME}}, even if the team itself has a custom name.

Repeat this mapping for every consumer. An API and a worker can both define DATABASE_URL and point it to the same shared value, while a frontend can omit it entirely. This explicit per-resource choice is what keeps the shared definition from becoming accidental global configuration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • 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

Apply the change: redeploy versus restart

After saving the resource variable, recreate the workload so the new configuration is available to the process.

  • Use a new deployment when the value affects the build. Build commands, dependency installation, generated assets, and other image-creation steps read values during deployment. A restart of an existing container does not rebuild that image.
  • Use Restart for runtime-only changes. If the application reads the variable only when the container starts and the image does not need rebuilding, restarting can be sufficient.
  • When uncertain, deploy. A fresh deployment covers both image creation and runtime startup, though it takes longer and may trigger the normal release process.

Save first, then use the resource’s deployment or restart control. Do not assume that changing the shared definition changes an already running process; the process keeps its existing environment until it is recreated.

Verify resolution without leaking a secret

Verification should prove that the workload received the intended configuration without printing credentials into public deployment logs.

  1. Check the resource’s saved Environment Variables entry. It should contain the reference, such as {{project.API_BASE_URL}}, rather than a pasted secret.
  2. Confirm that the referenced shared variable exists at the exact scope and name used in the expression.
  3. Redeploy or restart as required by the variable’s use.
  4. From an administrative shell or an internal diagnostic endpoint, test a non-sensitive property: whether a required variable is present, whether a URL has the expected hostname, or whether a feature flag equals the intended non-secret value.
  5. Keep secret values out of command output, application logs, health-check responses, screenshots, and public error pages.

For a locked shared variable, expect the resource configuration to retain a reference rather than exposing the resolved secret for copying. That behavior is useful when several operators can deploy a resource but should not be able to extract the underlying credential.

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

Compose resources and interpolation

With a Compose-based resource, put the shared reference where the value is consumed by the Compose configuration. Follow Coolify’s Compose interpolation rules and preserve the braces exactly. A single shared value can be used by multiple services in the same stack.

services:
  api:
    environment:
      DATABASE_URL: "{{environment.DATABASE_URL}}"
  worker:
    environment:
      DATABASE_URL: "{{environment.DATABASE_URL}}"

The example gives the API and worker the same environment-scoped database connection while allowing another environment to supply a different connection. Keep the reference in the configuration that Coolify processes; do not replace it with a hard-coded production secret in the Compose file.

Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【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.

Common failures and their fixes

The variable is defined but the container cannot see it

The usual cause is assuming that the shared definition is automatically injected. Add a workload-facing key in the resource’s Environment Variables section and set its value to the appropriate reference. Then save and recreate the workload.

The reference remains unresolved

Check all three parts of the expression: the literal scope keyword, the exact shared-variable name, and the resource’s location. For example, {{team.NODE_ENV}} uses team as the scope and NODE_ENV as the name. A project-scoped variable cannot be resolved with an environment or server prefix. If no matching shared variable is available, Coolify leaves the reference unresolved rather than guessing another value.

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

A renamed variable stopped working

Renaming the definition does not rewrite consumers. Search every resource for the old reference, replace it with the new name, save each resource, and redeploy or restart the affected workloads.

A deleted variable still appears in resource settings

Deleting the shared definition does not remove stored references from resources. Clean those references before the next deployment, or replace them with a valid variable. Otherwise a later deployment can fail or start with an unresolved value.

Staging is using production configuration

Inspect the scope first. A team- or project-scoped value is shared more broadly than an environment-scoped value. If staging and production need different values, create separate environment-scoped definitions and reference them with {{environment.NAME}} in each environment.

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

The new value is visible in the editor but not at runtime

The running process has not been recreated, or the value is consumed during image build. Use a new deployment for build-time use; use Restart only for a runtime-only change.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【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.

A multiline key or certificate fails to parse

Edit the shared variable using the Multiline value type and preserve the original line breaks. Avoid converting a certificate or private key into a single wrapped line unless the consuming application explicitly requires that format.

Developer view and ordinary shared variables

Coolify’s Developer view provides a compact editor for ordinary shared variables. Enter one KEY=value pair per line. Lines beginning with # are comments.

# Shared defaults
LOG_LEVEL=info
PUBLIC_API=https://api.internal.example

Saving the editor applies the complete contents. Removing a line therefore deletes that ordinary shared variable; it is not merely omitted from the next display. Review the whole editor before saving, especially when several people maintain the same scope.

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

Use Normal view for locked and multiline variables. Those values need controls that the line-oriented Developer view does not provide safely.

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

Automate administration with the API

Coolify documents bearer-authenticated API operations for listing project and environment shared variables and for creating project-scoped variables. API automation is useful when environments are created from a pipeline or when a controlled process must apply the same configuration repeatedly.

  • Store the bearer token in a protected secret store, not in a repository, ticket, shell history, or public CI log.
  • Grant the token only the permissions needed for the operation.
  • Make scripts explicit about scope so a project variable is not accidentally created as team-wide data.
  • After an automated change, trigger the appropriate deployment or restart and verify a non-secret property.

API paths and available operations can change between Coolify releases, so use the API reference that matches the installed version rather than hard-coding an endpoint copied from an unrelated release.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【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.

When to use an external secret manager

Shared Variables are convenient for configuration that Coolify should own. For sensitive values reused across many projects, an external secret manager can provide a stronger separation of duties, centralized rotation, audit trails, or access policies independent of the deployment platform.

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

Coolify’s service documentation describes secret references such as {{vault.KEY}} and identifies integrations including Doppler, Infisical, and HashiCorp Vault. Before moving a production secret, confirm the provider’s access controls, rotation workflow, failure behavior when the provider is unavailable, and which Coolify scopes are allowed to resolve it.

  • Keep the reference, rather than the resolved secret, in application configuration and source control.
  • Plan how a rotation propagates to every consuming resource and whether a restart or redeploy is required.
  • Test recovery with an expired, revoked, or temporarily unavailable credential before relying on the integration for a critical service.

Manage shared variables as infrastructure

If shared-variable definitions must be reviewed, versioned, and reproduced, the Terraform Provider for Coolify documents a coolify_shared_environment_variable resource. The provider covers team, project, environment, and server scopes and supports Coolify version 4.3.0 and later.

Infrastructure as code is most useful when the variable metadata and scope belong in a controlled change process. Protect the Terraform state because it may contain sensitive values, use a secure state backend, and avoid exposing secrets in plan output. Keep the resource’s scope aligned with the same narrowest-scope rule used in the UI.

A practical rollout checklist

  • List every application, database, and service that needs the value.
  • Choose the narrowest scope covering all of those consumers.
  • Use a precise, stable key name and document its purpose in the optional comment.
  • Choose Multiline for certificates, private keys, or other line-break-sensitive data.
  • Lock sensitive values when operators need to deploy without copying the secret.
  • Add an explicit reference in each consumer’s Environment Variables settings.
  • Check that the scope word is literally team, project, environment, or server.
  • Save each resource variable and redeploy or restart based on when the value is consumed.
  • Verify presence or a non-secret property inside the workload without logging the secret.
  • When renaming or deleting a shared variable, update or remove every stored reference first.

Operational model to remember

Think of a shared variable as a scoped definition plus explicit consumer bindings. The definition centralizes ownership; the reference decides which resource receives it; the deployment or restart determines when a running process gets the new value. Keeping those three stages separate explains most Coolify configuration surprises and makes changes predictable across projects.

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

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.