Skip to content

Repository files navigation

Remote Log Proxy for Cloudron

Release GHCR Cloudron Go Dozzle License: MIT


If this project is useful to you, you can support its development here:

Support

Overview

Remote Log Proxy is a Cloudron-ready package that exposes a secure, SSO‑protected configuration UI for connecting a log viewer to a remote Docker Engine. It supports TCP or SSH remotes and uses a lightweight proxy so you don’t need shell access to the Cloudron host.

Highlights

  • Cloudron‑ready package with built‑in /config UI
  • SSH tunnel support for ssh://user@host (no SSH support needed in the viewer)
  • Healthcheck wired to the config UI
  • Secrets stored in Cloudron local storage

How It Works

A tiny Go proxy runs on port 8080 and reverse-proxies Dozzle on 8081.

  • TCP remote: Dozzle connects directly to tcp://host:port.
  • SSH remote: the startup script opens a local SSH tunnel to the remote socket and Dozzle connects to tcp://127.0.0.1:2375.

Quick Start

  1. Install the app on Cloudron
  2. Open the config page:
https://<your-app-domain>/config
  1. Set Remote Docker Host to one of:
tcp://10.0.0.10:2375
ssh://user@10.0.0.10
  1. (SSH only) Paste your private key
  2. Optional: set Display Name for a friendly label
  3. Click Save & Apply

Configuration Details

For SSH:

  • Paste a private key (OpenSSH format) in the UI.
  • The key is stored in /app/data/.ssh/id_rsa inside the container.
  • Click Save & Apply to reload without restarting the Cloudron app.

Security Notes

  • TCP: Only use tcp:// on trusted networks.
  • SSH: The remote host must expose /var/run/docker.sock (default on most Docker installs).
  • SSH keys are stored in Cloudron local storage (/app/data/.ssh).

The SSH tunnel forwards:

127.0.0.1:2375 -> /var/run/docker.sock

Repository Structure

.
├── CloudronManifest.json
├── Dockerfile
├── start.sh
├── config-proxy
│   ├── go.mod
│   └── main.go
└── README.md

Build and Deploy (Cloudron)

Install the Cloudron CLI:

npm install -g cloudron

Log in to your Cloudron:

cloudron login my.cloudron.example

Build the image:

cloudron build

Then install or update:

cloudron install --image <image-tag> --location dozzle.example.com
# or
cloudron update --app dozzle.example.com --image <image-tag>

Release Tarball

Releases are created manually (workflow dispatch) and attach a tarball of the Cloudron package.

From GitHub Actions, run the release workflow and set the tag (e.g. v0.1.0). The workflow creates a draft release with the tarball. The tarball is the Cloudron package ready to download and install.

GHCR Images

When a release is published, a GHCR image is built and pushed:

ghcr.io/jbjardine/dozzle-remote-proxy:<tag>
ghcr.io/jbjardine/dozzle-remote-proxy:latest

You can install directly from GHCR with Cloudron:

cloudron install --image ghcr.io/jbjardine/dozzle-remote-proxy:<tag> --location <app-domain>

Contributing

PRs are welcome. Keep changes minimal and documented. Run builds via Cloudron CLI when possible.

License

MIT. See LICENSE.

Credits

Built on top of Dozzle.

About

Cloudron package for remote Docker logs by Dozzle with SSO config UI and SSH/TCP remotes

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages