Sign inSign up

mhmet/task-tracker

By mhmet

•Updated over 1 year ago

Lightweight task tracker logging executions via simple HTTP GET requests.

Image
Monitoring & observability
0

87

mhmet/task-tracker repository overview

⁠Overview

This project is a lightweight task tracker and action logging service that allows users to log specific task executions via a simple HTTP GET request.
It is designed for easy integration with cron jobs, scripts, and other automated systems.

For example, calling:

 GET /logs/:taskKey/:taskSecret

will log the execution with timestamp and request metadata (e.g. IP address).


⁠Available Tags

  • v1.0.0 – Initial release

⁠GitHub Repository

⁠https://github.com/mhmeteren/task-tracker⁠

⁠How to use this image

This image is intended to be used with Docker Compose. Below are example docker-compose configurations for both the core application and an optional logging stack (ELK).

⁠Core Setup

Minimal setup with PostgreSQL: docker-compose.core.yml⁠

services:
  pgdb:
    image: postgres:latest
    container_name: pgdb
    restart: always
    environment:
      POSTGRES_DB: tasktrackerapp
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
    ports:
      - "5433:5432"
    volumes:
      - task-tracker-pgdata:/var/lib/postgresql/data
    networks:
      - task-tracker-appnet

  app:
    image: mhmet/task-tracker:v1.0.0
    container_name: app
    depends_on:
      - pgdb
    ports:
      - "3000:3000"
    networks:
      - task-tracker-appnet
    volumes:
      - ../logs:/logs

volumes:
  task-tracker-pgdata:

networks:
  task-tracker-appnet:
    name: task-tracker-appnet

⁠Optional: Logging Stack (ELK)

Enable logging to Elasticsearch and visualize logs with Kibana: docker-compose.logging.yml⁠

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.17
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - ES_JAVA_OPTS=-Xms1g -Xmx1g
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - "9200:9200"
    volumes:
      - esdata:/usr/share/elasticsearch/data
    networks:
      - task-tracker-appnet

  kibana:
    image: docker.elastic.co/kibana/kibana:7.17.17
    container_name: kibana
    ports:
      - "5601:5601"
    depends_on:
      - elasticsearch
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    networks:
      - task-tracker-appnet

  filebeat:
    image: docker.elastic.co/beats/filebeat:7.17.17
    container_name: filebeat
    user: root
    depends_on:
      - elasticsearch
      - app
    networks:
      - task-tracker-appnet
    command: >
      sh -c "cp /config/filebeat.yml /usr/share/filebeat/filebeat.yml &&
             chmod go-w /usr/share/filebeat/filebeat.yml &&
             filebeat -e"
    volumes:
      - ./filebeat.yml:/config/filebeat.yml:ro       
      - ../logs:/app/logs:ro                         


volumes:
  esdata:


# networks:
#   task-tracker-appnet:
#     external: true

Filebeat configuration can be found here⁠

⁠For More Details

For a detailed explanation of the Docker-based architecture and service layout, refer to the Docker-Based Unified Deployment Architecture⁠ section in the GitHub README.

Tag summary

Content type

Image

Digest

sha256:7532fd1f7…

Size

18 MB

Last updated

over 1 year ago

docker pull mhmet/task-tracker:v1.0.0