folio / scripts /README.md
dystomachina's picture
Initial commit for Folio project
ce4bc73
# Diagnostic Scripts
This directory contains diagnostic scripts used to troubleshoot issues with the Folio application, particularly when running in a Docker container.
## Available Scripts
### `run_diagnostics.sh`
A shell script that runs all diagnostic scripts on a running Docker container.
**Usage:**
```bash
./run_diagnostics.sh [container_name]
```
If `container_name` is not provided, it defaults to "omninmo-folio-1".
### `check_modules.py`
Checks for the availability and versions of Python modules required by the Folio application.
**Usage:**
```bash
python check_modules.py
```
**In Docker:**
```bash
docker exec omninmo-folio-1 python /app/scripts/check_modules.py
```
### `check_network.py`
Tests network connectivity from inside a Docker container, including binding to different interfaces and testing external connectivity.
**Usage:**
```bash
python check_network.py [--bind-test] [--external-test]
```
**In Docker:**
```bash
docker exec omninmo-folio-1 python /app/scripts/check_network.py
```
### `test_imports.py`
Tests importing various modules used by the Folio application to diagnose import-related issues.
**Usage:**
```bash
python test_imports.py
```
**In Docker:**
```bash
docker exec omninmo-folio-1 python /app/scripts/test_imports.py
```
## Common Issues
These scripts were created to diagnose the following common issues:
1. **Module Import Errors**: Problems with Python module imports, particularly with the project structure in a Docker container.
2. **Network Binding Issues**: Issues with the application binding to the correct network interface inside the container.
3. **Dependency Problems**: Missing or incompatible dependencies.
## Adding New Scripts
When adding new diagnostic scripts, please follow these guidelines:
1. Include a detailed docstring explaining the purpose of the script
2. Add usage examples, both for local execution and in Docker
3. Make the script executable (`chmod +x script_name.py`)
4. Update this README with information about the new script