How to Update Docker Compose Stacks in Dokploy

Learn how to update Docker Compose applications in Dokploy using the latest tag or pinned versions. Manual updates and automated solutions with Tugtainer.

How to Update Docker Compose Stacks in Dokploy

When you deploy Docker Compose apps in Dokploy, you eventually need to update them. Whether it’s for security patches, bug fixes, or new features, knowing the right way to update matters. This guide covers the two main approaches—manual SSH updates and automated solutions.

New to Dokploy? Start with our installation guide. For deploying your first app, see How To Deploy A Docker Compose App in Dokploy.

Why bother with updates?

Old container images sit there with known vulnerabilities. Regular updates give you:

  • Security patches - CVE fixes for discovered vulnerabilities
  • Bug fixes - Issues the maintainers finally resolved
  • New features - Capabilities added since your last deployment
  • Compatibility - Keeping up with API changes and dependencies

Backup before updates

Have backups ready before you start. Our Dokploy backups guide shows how to set them up.

Option A: Using the latest tag

When your compose file uses latest tags, you have two update methods.

Method 1: Manual SSH update

Connect to your server and pull the new images manually.

Step 1: SSH into your server

ssh username@your-vps-ip

Step 2: Find your application directory

Dokploy stores compose files here:

cd /etc/dokploy/compose/[app-name]-[random-suffix]/code

For example:

cd /etc/dokploy/compose/myapp-a1b2c3d/code

Step 3: Pull the latest images

docker compose pull

This grabs the newest versions of all images using the latest tag.

Step 4: Reload in Dokploy

  1. Open Dokploy dashboard
  2. Go to your project
  3. Click General tab
  4. Hit Reload

Dokploy reload

The reload recreates containers with fresh images while keeping your volumes intact.

Method 2: Automated updates with Tugtainer

Tugtainer is a self-hosted tool that watches your containers and handles updates automatically. No more SSH sessions just to pull new images.

What Tugtainer gives you:

  • Web interface - Manage everything from a browser
  • Scheduled checks - Automatically polls for new images
  • Smart ordering - Updates containers in the right sequence
  • Notifications - Alerts via Discord, Telegram, Slack, or email
  • Multi-server - One interface for multiple hosts

Tugtainer containers list view showing detailed container information

Set it up once, and Tugtainer handles the rest. You can enable full auto-updates or just get notified when new versions appear. I use it on my own servers—it beats SSHing in every time an update drops.

Tugtainer setup guide

Option B: Using pinned versions

If you specify exact versions (like image: postgres:16-alpine instead of latest), the update workflow changes slightly.

Updating pinned versions

Step 1: Edit your compose file in Dokploy

  1. Go to your project in the Dokploy UI
  2. Click General tab
  3. Find the Raw section
  4. Change the image version

Example:

image: flowiseai/flowise:1.0.0

Becomes:

image: flowiseai/flowise:1.1.0

Dokploy reload

Step 2: Save

Click Save to store the change.

Step 3: Reload

Click Reload to apply it. Dokploy pulls the new version and recreates the container.

Why pin versions?

Pinned versions let you control exactly what runs in production. You decide when to upgrade, and you know what changed. latest tags can surprise you with breaking changes.

Best practices for updates

Test before production

Never push updates straight to production without checking them first:

  1. Use a staging environment - Mirror your production setup somewhere safe
  2. Read the changelogs - Know what you’re getting into
  3. Verify compatibility - Make sure your config still works

When to update

  • Security patches - Apply these as soon as you’ve tested them
  • Feature updates - Schedule during your maintenance windows
  • Major versions - Plan these carefully, test thoroughly

Rolling back

When an update breaks something:

  1. Revert the compose file (for pinned versions) or pull the old image
  2. Click Reload in Dokploy to go back
  3. Check the logs to see what went wrong

If you followed our backup guide, you can restore data if needed.

Dokploy installation Deploy Docker Compose apps Deploy TanStack Start Deploy Python with uv Configure backups Tugtainer auto-updater

Final thoughts

There are two main ways to handle updates in Dokploy. latest tags are convenient but need either manual SSH work or a tool like Tugtainer. Pinned versions give you control—you decide exactly when and what to update.

Pick what works for you:

  • Manual SSH for simple setups with occasional updates
  • Tugtainer for hands-off automation across multiple apps
  • Pinned versions when stability matters most

Keep your apps updated, keep backups ready, and you’ll avoid most self-hosting headaches.