logdyhq / logdy-core

Web based real-time log viewer. Stream ANY content to a web UI with autogenerated filters. Parse any format with TypeScript.
https://logdy.dev
Apache License 2.0
1.21k stars 30 forks source link

Feature Request: docker image #52

Open azertylr opened 2 weeks ago

azertylr commented 2 weeks ago

Hello,

It would be great to have a docker image for this fantastic tool :)

It would make it easier to deploy

Best

PeterOsinski commented 2 weeks ago

Hi @azertylr what would be the use case? Docker image seems like an overhead given that you can download compiled version on Linux, MacOS and Windows from github directly or use a bash script -> docs. If you let me know how Docker image would make your life easier, I'll consider it :)

On top of that, using Logdy through Docker would be cumbersome since Logdy would run inside a container which would prevent it from accessing stdout of other processes outside of it's container. Also accessing logs is complicated as you would have to share a mount point with the host system... That all seems like a complex to setup and then maintain.

azertylr commented 2 weeks ago

Hi @PeterOsinski

Docker allows an easy deployment and flexibility if you need several instances of lodgy. You can for example add directly to the docker compose of the project a container with logdy. It also provides an isolation and a flexible management when you have all of your app running with docker.

I did create a container for testing and it works well, and add it to my docker compose :


services:
  caddy:
   ...

  logdy:
    image: logdy
    container_name: logdy
    read_only: true
    volumes:
      - /home/docker/caddy/logs/access.log:/var/log/access.log:ro
      - /home/docker/caddy/logs/error.log:/var/log/error.log:ro
      - /home/docker/logdy:/config
    restart: unless-stopped
azertylr commented 2 weeks ago

and a very simple dockerfile


FROM alpine:latest

ENV LOGDY_VERSION=0.13.0

ADD "https://github.com/logdyhq/logdy-core/releases/download/v${LOGDY_VERSION}/logdy_linux_amd64" /usr/local/bin/logdy

RUN chmod +x /usr/local/bin/logdy

ENTRYPOINT ["/usr/local/bin/logdy"]

CMD ["--ui-ip", "0.0.0.0", "--config", "/config/logdy.json", "follow", "/var/log/access.log"]
PeterOsinski commented 2 weeks ago

thanks for the input, I'll think about how to best approach it. I'm planning to jump on it in the next 1-2 weeks

azertylr commented 1 week ago

Thanks, I can help for testing and implementing!