update
This commit is contained in:
@@ -110,17 +110,20 @@ install_python_packages() {
|
||||
local pip_packages=(
|
||||
"pymodbus"
|
||||
"pyserial"
|
||||
"sqlite3"
|
||||
"requests"
|
||||
"schedule"
|
||||
"RPi.GPIO"
|
||||
"gpiozero"
|
||||
"smbus2"
|
||||
"adafruit-circuitpython-bme280"
|
||||
"sensirion-shdlc-sfa3x"
|
||||
"crcmod"
|
||||
"psutil"
|
||||
)
|
||||
|
||||
for package in "${pip_packages[@]}"; do
|
||||
print_status "Installing Python package: $package..."
|
||||
if pip3 install "$package"; then
|
||||
if pip3 install "$package" --break-system-packages; then
|
||||
print_success "$package installed"
|
||||
else
|
||||
print_warning "Failed to install $package (may already be installed)"
|
||||
@@ -130,23 +133,38 @@ install_python_packages() {
|
||||
print_success "Python packages installation completed"
|
||||
}
|
||||
|
||||
# Setup directory structure
|
||||
setup_directories() {
|
||||
print_step "Setting up directory structure..."
|
||||
# Clone repository
|
||||
clone_repository() {
|
||||
print_step "Cloning ModuleAir Pro 4G repository..."
|
||||
|
||||
# Create main directory if it doesn't exist
|
||||
if [ ! -d "/var/www/moduleair_pro_4g" ]; then
|
||||
sudo mkdir -p /var/www/moduleair_pro_4g
|
||||
print_success "Created /var/www/moduleair_pro_4g directory"
|
||||
else
|
||||
print_warning "Directory /var/www/moduleair_pro_4g already exists"
|
||||
# Remove existing directory if it exists
|
||||
if [ -d "/var/www/moduleair_pro_4g" ]; then
|
||||
print_warning "Directory /var/www/moduleair_pro_4g already exists - removing..."
|
||||
sudo rm -rf /var/www/moduleair_pro_4g
|
||||
fi
|
||||
|
||||
# Create subdirectories
|
||||
# Clone the repository
|
||||
if sudo git clone http://gitea.aircarto.fr/PaulVua/moduleair_pro_4g.git /var/www/moduleair_pro_4g; then
|
||||
print_success "Repository cloned successfully"
|
||||
else
|
||||
print_error "Failed to clone repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set proper permissions
|
||||
sudo chown -R www-data:www-data /var/www/moduleair_pro_4g
|
||||
sudo chmod -R 755 /var/www/moduleair_pro_4g
|
||||
print_success "Repository permissions set"
|
||||
}
|
||||
|
||||
# Setup directory structure
|
||||
setup_directories() {
|
||||
print_step "Setting up additional directories and files..."
|
||||
|
||||
# Create additional directories
|
||||
local dirs=(
|
||||
"sqlite"
|
||||
"logs"
|
||||
"services"
|
||||
"matrix/input"
|
||||
)
|
||||
|
||||
@@ -155,10 +173,32 @@ setup_directories() {
|
||||
print_success "Created directory: $dir"
|
||||
done
|
||||
|
||||
# Create required log files
|
||||
local files=(
|
||||
"logs/app.log"
|
||||
"logs/loop.log"
|
||||
"matrix/input_NPM.txt"
|
||||
"matrix/input_MHZ16.txt"
|
||||
"wifi_list.csv"
|
||||
)
|
||||
|
||||
for file in "${files[@]}"; do
|
||||
sudo touch "/var/www/moduleair_pro_4g/$file"
|
||||
print_success "Created file: $file"
|
||||
done
|
||||
|
||||
# Copy config template if it exists
|
||||
if [ -f "/var/www/moduleair_pro_4g/config.json.dist" ]; then
|
||||
sudo cp /var/www/moduleair_pro_4g/config.json.dist /var/www/moduleair_pro_4g/config.json
|
||||
print_success "Configuration file created from template"
|
||||
else
|
||||
print_warning "config.json.dist not found - skipping config file creation"
|
||||
fi
|
||||
|
||||
# Set proper permissions
|
||||
sudo chown -R www-data:www-data /var/www/moduleair_pro_4g
|
||||
sudo chmod -R 755 /var/www/moduleair_pro_4g
|
||||
print_success "Directory permissions set"
|
||||
print_success "Directory permissions updated"
|
||||
}
|
||||
|
||||
# Configure Apache
|
||||
@@ -411,6 +451,7 @@ main() {
|
||||
update_system
|
||||
install_dependencies
|
||||
install_python_packages
|
||||
clone_repository
|
||||
setup_directories
|
||||
configure_apache
|
||||
enable_hardware
|
||||
|
||||
Reference in New Issue
Block a user