Wanderer Notifier

Wanderer Notifier delivers real-time alerts directly to your Discord channel, ensuring you never miss critical in-game events. Whether it’s a significant kill, a newly tracked character, or a fresh system discovery, our notifier keeps you informed with rich, detailed notifications.

In the fast-paced universe of EVE Online, timely information can mean the difference between success and failure. When a hostile fleet enters your territory, when a high-value target appears in your hunting grounds, or when a new wormhole connection opens up valuable opportunities - knowing immediately gives you the edge. Wanderer Notifier bridges this information gap, bringing critical intel directly to your Discord where your team is already coordinating.

Prerequisites

Before setting up Wanderer Notifier, ensure you have the following:

How to Get Started

There are two ways to install Wanderer Notifier: a Quick Install option using a one-liner, or a Manual Setup for those who prefer step-by-step control.

Quick Install Option

For a streamlined installation that creates the necessary directory and files automatically, run:

curl -fsSL https://gist.githubusercontent.com/guarzo/3f05f3c57005c3cf3585869212caecfe/raw/wanderer-notifier-setup.sh | bash

Once the script finishes, update the wanderer-notifier/.env file with your configuration values, then run the container. The setup includes a PostgreSQL database which is now required for the application to function properly.

Manual Setup

If you’d rather set up everything manually, follow these steps:

1. Download the Docker Image

Pull the latest Docker image:

docker pull guarzo/wanderer-notifier:latest

2. Configure Your Environment

Create a .env file in your working directory with the following content. Replace the placeholder values with your actual credentials:

# Discord Configuration
WANDERER_DISCORD_BOT_TOKEN=your_discord_bot_token
WANDERER_DISCORD_CHANNEL_ID=your_discord_channel_id

# Map Configuration
WANDERER_MAP_URL="https://wanderer.ltd/<yourmap>"
WANDERER_MAP_TOKEN=your_map_api_token

# License Configuration (for enhanced features)
# Note: Premium features are enabled with your map subscription
WANDERER_LICENSE_KEY=your_map_license_key  # Provided with your map subscription

# Database Configuration (required)
# Default values shown below, customize as needed
# WANDERER_DB_USERNAME=postgres
# WANDERER_DB_PASSWORD=postgres
# WANDERER_DB_HOSTNAME=postgres
# WANDERER_DB_PORT=5432
# WANDERER_DB_POOL_SIZE=10

# Feature Flags (all enabled by default)
# WANDERER_FEATURE_KILL_NOTIFICATIONS=true
# WANDERER_FEATURE_CHARACTER_NOTIFICATIONS=true
# WANDERER_FEATURE_SYSTEM_NOTIFICATIONS=true
# WANDERER_FEATURE_TRACK_KSPACE=false  # Set to 'true' to track K-Space systems in addition to wormholes

Note: For backward compatibility, legacy variable names (without the WANDERER_ prefix) are still supported but will display deprecation warnings.

Note: If you don’t have a Discord bot yet, follow our guide on creating a Discord bot or search the web for more information.

3. Create the Docker Compose Configuration

Create a file named docker-compose.yml with the following content:

services:
  postgres:
    image: postgres:14
    environment:
      POSTGRES_USER: ${WANDERER_DB_USERNAME:-postgres}
      POSTGRES_PASSWORD: ${WANDERER_DB_PASSWORD:-postgres}
      POSTGRES_DB: ${WANDERER_DB_NAME:-wanderer_notifier}
    volumes:
      - wanderer_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 10s
      timeout: 5s
      retries: 5

  wanderer_notifier:
    image: guarzo/wanderer-notifier:latest
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    environment:
      # Discord Configuration
      WANDERER_DISCORD_BOT_TOKEN: ${WANDERER_DISCORD_BOT_TOKEN}
      WANDERER_DISCORD_CHANNEL_ID: ${WANDERER_DISCORD_CHANNEL_ID}

      # Map Configuration
      WANDERER_MAP_URL: ${WANDERER_MAP_URL}
      WANDERER_MAP_TOKEN: ${WANDERER_MAP_TOKEN}

      # License Configuration
      WANDERER_LICENSE_KEY: ${WANDERER_LICENSE_KEY}

      # Database Configuration
      WANDERER_DB_USERNAME: ${WANDERER_DB_USERNAME:-postgres}
      WANDERER_DB_PASSWORD: ${WANDERER_DB_PASSWORD:-postgres}
      WANDERER_DB_HOSTNAME: postgres
      WANDERER_DB_NAME: ${WANDERER_DB_NAME:-wanderer_notifier}
      WANDERER_DB_PORT: ${WANDERER_DB_PORT:-5432}
      WANDERER_DB_POOL_SIZE: ${WANDERER_DB_POOL_SIZE:-10}

      # Web Configuration
      WANDERER_WEB_PORT: ${WANDERER_WEB_PORT:-4000}
    ports:
      - "${WANDERER_WEB_PORT:-4000}:4000"
    deploy:
      resources:
        limits:
          memory: 512M
      restart_policy:
        condition: unless-stopped
    healthcheck:
      test:
        [
          "CMD",
          "wget",
          "--no-verbose",
          "--tries=1",
          "--spider",
          "http://localhost:4000/health",
        ]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 15s
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

volumes:
  wanderer_data:

4. Run It

Start the service with Docker Compose:

docker-compose up -d

Your notifier is now up and running, delivering alerts to your Discord channel automatically!

Configuration Validation

On startup, the application validates all configuration settings. If there are issues with your configuration, detailed error messages will be displayed in the logs to help you resolve them. This ensures that your notifier is properly configured before it begins operation.

Features

Learn more about notification types

View on GitHub