Complete fix: Replace all sudo commands with su for LXC compatibility

- Replace 'sudo -u' with 'su -' throughout the script
- Works perfectly in LXC containers running as root (no sudo installed)
- Also works on regular VMs/servers where sudo is available
- Fixes all remaining: sudo: command not found errors
This commit is contained in:
ilia 2025-12-14 21:05:35 -05:00
parent 9bb39c9913
commit 44ddd88879

View File

@ -87,7 +87,8 @@ if [ ! -d "$POTE_DIR" ]; then
read -r REPO_URL read -r REPO_URL
if [ -n "$REPO_URL" ]; then if [ -n "$REPO_URL" ]; then
sudo -u $POTE_USER git clone "$REPO_URL" "$POTE_DIR" # Clone as the pote user
su - $POTE_USER -c "git clone '$REPO_URL' '$POTE_DIR'"
else else
echo "Skipping git clone. Make sure code is in $POTE_DIR" echo "Skipping git clone. Make sure code is in $POTE_DIR"
fi fi
@ -97,8 +98,8 @@ fi
# Step 6: Setup Python environment # Step 6: Setup Python environment
echo -e "${GREEN}[6/9]${NC} Setting up Python environment..." echo -e "${GREEN}[6/9]${NC} Setting up Python environment..."
sudo -u $POTE_USER bash << 'EOF' su - $POTE_USER << 'EOF'
cd $POTE_DIR cd pote
python3.11 -m venv venv python3.11 -m venv venv
source venv/bin/activate source venv/bin/activate
pip install --upgrade pip pip install --upgrade pip
@ -108,21 +109,21 @@ EOF
# Step 7: Create .env file # Step 7: Create .env file
echo -e "${GREEN}[7/9]${NC} Creating environment configuration..." echo -e "${GREEN}[7/9]${NC} Creating environment configuration..."
sudo -u $POTE_USER bash << EOF su - $POTE_USER << EOF
cat > $POTE_DIR/.env << ENVEOF cat > pote/.env << ENVEOF
DATABASE_URL=postgresql://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME DATABASE_URL=postgresql://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME
QUIVERQUANT_API_KEY= QUIVERQUANT_API_KEY=
FMP_API_KEY= FMP_API_KEY=
LOG_LEVEL=INFO LOG_LEVEL=INFO
ENVEOF ENVEOF
chmod 600 $POTE_DIR/.env chmod 600 pote/.env
EOF EOF
echo "✓ Environment file created" echo "✓ Environment file created"
# Step 8: Run database migrations # Step 8: Run database migrations
echo -e "${GREEN}[8/9]${NC} Running database migrations..." echo -e "${GREEN}[8/9]${NC} Running database migrations..."
sudo -u $POTE_USER bash << 'EOF' su - $POTE_USER << 'EOF'
cd $POTE_DIR cd pote
source venv/bin/activate source venv/bin/activate
alembic upgrade head alembic upgrade head
EOF EOF
@ -130,8 +131,8 @@ echo "✓ Database schema initialized"
# Step 9: Setup directories # Step 9: Setup directories
echo -e "${GREEN}[9/9]${NC} Creating directories..." echo -e "${GREEN}[9/9]${NC} Creating directories..."
sudo -u $POTE_USER mkdir -p $POTE_HOME/logs su - $POTE_USER -c "mkdir -p ~/logs"
sudo -u $POTE_USER mkdir -p $POTE_HOME/backups su - $POTE_USER -c "mkdir -p ~/backups"
echo "✓ Log and backup directories created" echo "✓ Log and backup directories created"
# Summary # Summary