Skip to content

feat: add container file browser#8734

Open
Deducer wants to merge 1 commit intocoollabsio:nextfrom
Deducer:feat/container-file-browser
Open

feat: add container file browser#8734
Deducer wants to merge 1 commit intocoollabsio:nextfrom
Deducer:feat/container-file-browser

Conversation

@Deducer
Copy link

@Deducer Deducer commented Mar 2, 2026

Changes

Add a file browser Livewire component that lets users browse, upload, download, and manage files inside running containers. Accessible from the Files tab on application, database, and service pages, gated behind canAccessTerminal permission.

  • Browse container filesystem with directory navigation and breadcrumbs
  • Upload files via Livewire temp upload, SCP to remote, docker cp into container
  • Download files (base64) and folders (tar.gz), with 100MB size limit
  • Create and delete folders/files with confirmation prompts
  • Path validation blocks traversal, shell metacharacters, and null bytes
  • Index-based wire:click references prevent XSS from special characters in filenames

Issues

Category

  • New feature

Screenrecording

AI Assistance

  • AI was used to create this PR

Testing

  • Deploy any application/database/service so a container is running
  • Navigate to the resource page, click the "Files" tab (requires terminal access)
  • Select a container from the dropdown (auto-selects if only one)
  • Verify root directory listing shows permissions, owner, group, size, modified date
  • Click a directory to navigate into it, use Up button and breadcrumbs to navigate back
  • Click "New Folder", enter a name, click Create, verify it appears
  • Upload a file, verify it appears in the current directory
  • Download a file and a folder, verify correct content
  • Delete an entry, confirm the prompt, verify removal

Contributor Agreement

Important

  • I have read and understood the contributor guidelines. If I have failed to follow any guideline, I understand that this PR may be closed without review.
  • I have searched existing issues and pull requests (including closed ones) to ensure this isn't a duplicate.
  • I have tested all the changes thoroughly with a local development instance of Coolify and I am confident that they will work as expected when a maintainer tests them.

…vices

Adds a file browser allowing users to browse, upload, download,
and manage files inside running containers. Accessible from the
Files tab behind the canAccessTerminal gate.

Closes coollabsio#6519
@Deducer
Copy link
Author

Deducer commented Mar 2, 2026

Screen recording showing the file browser feature working on a PostgreSQL database and a service: https://www.loom.com/share/b36ded097a344aa59c4187e757e2b31c

@ShadowArcanist
Copy link
Member

The feature looks great, I just updated the PR description to add the screen recording link.

Note: It might take a while for the core maintainers to check this PR so please avoid pinging anyone here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants