Go to file
tigeren 3e75cc2abb Add instructions for pushing to a private Docker repository in README.md 2025-08-31 13:14:22 +00:00
config Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00
docker Add instructions for pushing to a private Docker repository in README.md 2025-08-31 13:14:22 +00:00
templates Update BDSM templates to enhance prompts with clearer instructions and avoid extreme content. Refine language for better execution of daily rules and random domination scenarios, ensuring a focus on psychological humiliation while maintaining a creative approach. 2025-08-31 08:45:05 +00:00
.dockerignore Remove config.json file and update config.py to load configuration from a new directory. Add timezone support in the NotificationScheduler for accurate silent time checks. Update requirements.txt to include pytz for timezone handling. 2025-08-31 06:04:59 +00:00
.gitignore first commit 2025-08-30 15:55:23 +00:00
CLAUDE.md first commit 2025-08-30 15:55:23 +00:00
Dockerfile Remove config.json file and update config.py to load configuration from a new directory. Add timezone support in the NotificationScheduler for accurate silent time checks. Update requirements.txt to include pytz for timezone handling. 2025-08-31 06:04:59 +00:00
GROK_CLIENT.md Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00
MIGRATION_SUMMARY.md Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00
README.md Add instructions for pushing to a private Docker repository in README.md 2025-08-31 13:14:22 +00:00
config.py Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00
config_cli.py first commit 2025-08-30 15:55:23 +00:00
docker-compose.yml Remove config.json file and update config.py to load configuration from a new directory. Add timezone support in the NotificationScheduler for accurate silent time checks. Update requirements.txt to include pytz for timezone handling. 2025-08-31 06:04:59 +00:00
grok_client.py Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00
main.py first commit 2025-08-30 15:55:23 +00:00
notification_client.py first commit 2025-08-30 15:55:23 +00:00
ollama_client.py Add strip_think_tags configuration and update OllamaClient response handling. Refactor NotificationScheduler and tests to utilize new config option for stripping <think> tags from responses. 2025-08-31 07:27:12 +00:00
quick_test.py Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00
requirements.txt Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00
scheduler.py Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00
template_manager.py Refactor template management to return both prompt and title. Update NotificationScheduler and tests to utilize new structure for sending notifications. Adjust configuration for minimum and maximum intervals. 2025-08-31 07:57:24 +00:00
test_connections.py Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00
test_grok_client.py Implement Grok client and migration from Ollama. Add OpenRouter configuration options in config.py, create new GrokClient for API interactions, and update documentation. Modify existing files to support Grok, ensuring backward compatibility with Ollama. Include migration script and comprehensive testing for Grok client functionality. 2025-08-31 12:12:19 +00:00

README.md

Dom

A notification scheduling system with Docker support.

Quick Start with Docker Compose

  1. Build and start the service:

    docker-compose up -d
    
  2. View logs:

    docker-compose logs -f
    
  3. Stop the service:

    docker-compose down
    

Migration from Ollama to Grok

If you're upgrading from an older version that used Ollama, you can migrate your configuration:

python3 migrate_to_grok.py

This will help you set up your OpenRouter API key and migrate your existing configuration.

Configuration

The configuration file is located in the config/ directory and is mapped as a volume, allowing you to modify it without rebuilding the container.

Modifying Configuration

  1. Edit config/config.json on your host machine
  2. The changes will be automatically picked up by the container
  3. Restart the container if needed: docker-compose restart

Configuration Options

  • openrouter_api_key: OpenRouter API key for Grok-3 access
  • openrouter_base_url: OpenRouter API base URL
  • openrouter_model: Model to use (default: x-ai/grok-3)
  • openrouter_site_url: Your site URL for rankings
  • openrouter_site_name: Your site name for rankings
  • ollama_endpoint: Ollama API endpoint (legacy fallback)
  • ollama_model: Model to use for text generation (legacy fallback)
  • silent_start: Start time for silent period (HH:MM)
  • silent_end: End time for silent period (HH:MM)
  • timezone: Timezone for scheduling
  • min_interval: Minimum interval between notifications (minutes)
  • max_interval: Maximum interval between notifications (minutes)
  • bark_api_url: Bark notification service URL
  • bark_device_key: Bark device key
  • ntfy_api_url: Ntfy notification service URL
  • ntfy_topic: Ntfy topic
  • ntfy_access_token: Ntfy access token
  • templates_dir: Directory containing notification templates

Development

Local Development

python3 main.py

Building Docker Image

docker build -t dom .

Running with Docker

docker run -d \
  --name dom \
  -v $(pwd)/config:/app/config \
  -v $(pwd)/templates:/app/templates \
  dom

Volumes

  • ./config:/app/config: Configuration directory (read-write)
  • ./templates:/app/templates: Templates directory (read-only)

Environment Variables

  • TZ: Timezone (default: Asia/Shanghai)

Push to private repo

docker build -t 192.168.2.212:3000/tigeren/dom:latest . docker push 192.168.2.212:3000/tigeren/dom:latest