Skip to content

Paste, share and analyse your logs - Built for Minecraft & Hytale

License

Notifications You must be signed in to change notification settings

aternosorg/mclogs

Repository files navigation

Image

Paste, share & analyse your logs
Built for Minecraft & Hytale

Features

  • Share logs by pasting or uploading files
  • Automatic removal of sensitive information (e.g. IP addresses)
  • Short URLs for easy sharing
  • Syntax highlighting
  • Line numbers
  • Direct links to specific lines
  • Analysis and parsing using codex

For developers

  • Upload your logs using the API
  • Add metadata to shared logs, e.g. version numbers, server ids, etc.
  • Retrieve logs and their metadata from the API
  • Open source and self-hostable

Self-hosting

You can self-host mclogs using Docker. A docker image is available in the GitHub Container Registry: ghcr.io/aternosorg/mclogs. A MongoDB instance is also required to run mclogs.

An example docker compose files for self-hosting can be found here: docker/compose.production.yaml.

Config

You can configure mclogs by creating a config.json file in the root directory, see example.config.json or by setting environment variables. Environment variables override settings in the config file.

Here is a list of all available config options:

Variable / JSON Path Default Description
MCLOGS_STORAGE_TTL
storage.ttl
7776000 (90d) Time until logs are deleted after last view
MCLOGS_STORAGE_LIMIT_BYTES
storage.limit.bytes
10485760 (10 MiB) Maximum size of a log in bytes
MCLOGS_STORAGE_LIMIT_LINES
storage.limit.lines
25000 Maximum number of lines in a log
MCLOGS_MONGODB_URL
mongodb.url
"mongodb://mongo" MongoDB connection URL
MCLOGS_MONGODB_DATABASE
mongodb.database
"mclogs" Name of the MongoDB database
MCLOGS_ID_LENGTH
id.length
7 The default length for new IDs
MCLOGS_LEGAL_ABUSE
legal.abuse
null Public email address to report abuse
MCLOGS_LEGAL_IMPRINT
legal.imprint
null The imprint URL
MCLOGS_LEGAL_PRIVACY
legal.privacy
null The privacy policy URL
MCLOGS_FRONTEND_NAME
frontend.name
null Instance name (defaults to domain)
MCLOGS_FRONTEND_COLOR_ACCENT
frontend.color.accent
#5cb85c The accent/primary color
MCLOGS_FRONTEND_COLOR_BACKGROUND
frontend.color.background
#1a1a1a The background color
MCLOGS_FRONTEND_COLOR_TEXT
frontend.color.text
#e8e8e8 The text color
MCLOGS_FRONTEND_COLOR_ERROR
frontend.color.error
#f62451 The error color
MCLOGS_WORKER_REQUESTS
worker.requests
500 Max requests per single worker

There are a few more environment variables that can be set to modify the FrankenPHP/Caddy setup directly:

Variable Default Description
SERVER_NAME ":80" Set the Caddy server name, set this to your domain for automatic SSL
FRANKENPHP_WORKERS 16 The number of FrankenPHP workers

Development setup

Prerequisites

Installation

# clone repository
git clone [email protected]:aternosorg/mclogs.git

# install composer dependencies
cd mclogs
composer install

# start development environment
cd dev
docker compose up

Open http://localhost in browser and enjoy.

About

Paste, share and analyse your logs - Built for Minecraft & Hytale

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 7