A web-based tool for monitoring and managing Odoo development servers locally. This tool provides a simple interface for common maintenance tasks without requiring server command-line expertise.
-
Service Monitoring & Control
- Real-time status of services (Odoo and PostgreSQL)
- Service stop/start/restart buttons
- Monitor system resources (CPU, memory, disk usage)
- Support for PostgreSQL instances (e.g., postgresql@14-main)
-
Module Management
- List all Odoo module directories from odoo.conf
- Display permissions for each directory
- Provide one-click fix for directory permissions
- Python: Version 3.7 or newer required
- Python 3.7-3.11: Standard support
- Python 3.12+: Supported with automatic system-site-packages configuration
- Python < 3.7: Not supported
- Odoo development environment
- PostgreSQL
- sudo access (for service control and permission fixes)
Install with a single command (requires sudo):
curl -sSL https://raw.githubusercontent.com/solutionsunity/odoo-server-moon/main/scripts/install-remote.sh | sudo bashThis will:
- Download and install the tool to
/opt/odoo-server-moon - Set up a systemd service that starts automatically
- Start the service immediately
After installation, access the web interface at http://localhost:8008
You can customize the installation with additional options:
curl -sSL https://raw.githubusercontent.com/solutionsunity/odoo-server-moon/main/scripts/install-remote.sh | sudo bash -s -- --dir /opt/custom-path --port 8080Available options:
--dir DIR: Installation directory (default: /opt/odoo-server-moon)--branch BRANCH: Git branch to use (default: main)--port PORT: Port to run the server on (default: 8008)--no-start: Don't start the service after installation--no-update: Don't update if already installed
When a new version is available, update your installation with:
sudo /opt/odoo-server-moon/scripts/update.shOr use the installation script which automatically updates existing installations:
curl -sSL https://raw.githubusercontent.com/solutionsunity/odoo-server-moon/main/scripts/install-remote.sh | sudo bashTo completely remove the tool from your system:
sudo /opt/odoo-server-moon/scripts/uninstall.shThis will:
- Stop and remove the systemd service
- Ask if you want to remove all application files
Options:
--remove-files: Remove all application files without asking--keep-files: Keep application files, only remove the service
-
Clone the repository:
git clone https://github.com/solutionsunity/odoo-server-moon.git cd odoo-server-moon -
Run the application (choose one method):
# Using the shell script ./run.sh # OR using Python directly ./odoo-monitor.py
-
Access the web interface at http://localhost:8008
-
To install as a service:
sudo ./scripts/install-service.sh
Configuration is stored in config/config.json. You can modify:
- Server host and port
- Monitoring refresh interval
- Service names
- PostgreSQL instance detection
After installation, access the web interface at http://localhost:8008 (or your custom port).
The dashboard provides:
- System Metrics - Monitor CPU, memory, and disk usage
- Service Control - Start, stop, and restart Odoo and PostgreSQL services
- Module Management - View and fix permissions for Odoo module directories
- In the Modules section, look for directories with a warning or error status
- Click on the directory to see detailed permission information
- Click the "Fix Permissions" button to automatically correct permissions
- Use the Start/Stop/Restart buttons next to each service
- The service status updates in real-time
- PostgreSQL instances (e.g., postgresql@14-main) are shown separately
If you need to manage the monitoring tool itself:
- Check status:
sudo systemctl status odoo-dev-monitor - Start service:
sudo systemctl start odoo-dev-monitor - Stop service:
sudo systemctl stop odoo-dev-monitor - Restart service:
sudo systemctl restart odoo-dev-monitor - View logs:
sudo journalctl -u odoo-dev-monitor -f
This tool is designed to work with Python 3.7 and newer versions. The installation and update scripts automatically detect your Python version and apply appropriate configuration:
- Python 3.7-3.11: Standard virtual environment setup is used
- Python 3.12+: Virtual environment is created with the
--system-site-packagesflag to ensure compatibility with newer Python versions - Python < 3.7: Not supported - you'll receive a clear error message if you try to run the tool with an unsupported version
The tool automatically detects whether to use python or python3 command based on your system configuration:
- On systems where
pythonpoints to Python 3.x, the tool will usepythonandpip - On systems where
pythonpoints to Python 2.x or doesn't exist, the tool will usepython3andpip3
This ensures compatibility across different Linux distributions and environments without requiring manual configuration.
odoo-server-moon/
├── app/ # Application code
│ ├── api/ # API endpoints
│ ├── config/ # Configuration handling
│ ├── modules/ # Module management
│ ├── monitoring/ # System monitoring
│ ├── services/ # Service control
│ ├── static/ # Static assets
│ └── templates/ # HTML templates
├── config/ # Configuration files
├── docs/ # Documentation
├── scripts/ # Scripts for installation and running
│ ├── install-remote.sh # One-line installation script
│ ├── install-service.sh # Local service installation
│ ├── odoo-dev-monitor.service # Systemd service file
│ ├── run.sh # Script to run the application
│ └── uninstall-service.sh # Service uninstallation
├── tests/ # Test cases
├── odoo-monitor.py # Main Python entry point
└── run.sh # Symlink to scripts/run.sh
python -m pytest tests/This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.