Files
automaker/docs/install-fedora.md
DhanushSantosh 8b448b9481 fix: address CodeRabbit security and validation issues in Fedora docs and backlog plan
Documentation improvements:
- Fix GitHub URL placeholder issues in install-fedora.md - GitHub /latest/download/ endpoint
  doesn't support version substitution, use explicit download URL pattern instead
- Improve security in network troubleshooting section:
  - Change ping target from claude.ai (marketing site) to api.anthropic.com (actual API)
  - Remove unsafe 'echo \$ANTHROPIC_API_KEY' command that exposes secrets in shell history
  - Use safe API key check with conditional output instead

Code improvements:
- apps/server/src/routes/backlog-plan/common.ts: Add Array.isArray() validation
  for stored plan shape before returning it. Ensures changes is actually an array,
  not just truthy, preventing downstream runtime errors.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-16 19:37:21 +05:30

486 lines
10 KiB
Markdown

# Installing Automaker on Fedora/RHEL
This guide covers installation of Automaker on Fedora, RHEL, Rocky Linux, AlmaLinux, and other RPM-based distributions.
## Prerequisites
Automaker requires:
- **64-bit x86_64 architecture**
- **Fedora 39+** or **RHEL 9+** (earlier versions may work but not officially supported)
- **4GB RAM minimum**, 8GB recommended
- **~300MB disk space** for installation
- **Internet connection** for installation and Claude API access
### Authentication
You'll need one of the following:
- **Claude CLI** (recommended) - `claude login`
- **API key** - Set `ANTHROPIC_API_KEY` environment variable
See main [README.md authentication section](../README.md#authentication) for details.
## Installation
### Option 1: Download and Install from GitHub
1. Visit [GitHub Releases](https://github.com/AutoMaker-Org/automaker/releases)
2. Find the latest release and download the `.rpm` file:
- Download: `Automaker-<version>-x86_64.rpm`
3. Install using dnf (Fedora):
```bash
sudo dnf install ./Automaker-<version>-x86_64.rpm
```
Or using yum (RHEL/CentOS):
```bash
sudo yum localinstall ./Automaker-<version>-x86_64.rpm
```
### Option 2: Install Directly from URL
Install from GitHub releases URL without downloading first. Visit [releases page](https://github.com/AutoMaker-Org/automaker/releases) to find the latest version.
**Fedora:**
```bash
# Replace v0.11.0 with the actual latest version
sudo dnf install https://github.com/AutoMaker-Org/automaker/releases/download/v0.11.0/Automaker-0.11.0-x86_64.rpm
```
**RHEL/CentOS:**
```bash
# Replace v0.11.0 with the actual latest version
sudo yum install https://github.com/AutoMaker-Org/automaker/releases/download/v0.11.0/Automaker-0.11.0-x86_64.rpm
```
## Running Automaker
After successful installation, launch Automaker:
### From Application Menu
- Open Activities/Applications
- Search for "Automaker"
- Click to launch
### From Terminal
```bash
automaker
```
## System Requirements & Capabilities
### Hardware Requirements
| Component | Minimum | Recommended |
| ------------ | ----------------- | ----------- |
| CPU | Modern multi-core | 4+ cores |
| RAM | 4GB | 8GB+ |
| Disk | 300MB | 1GB+ |
| Architecture | x86_64 | x86_64 |
### Required Dependencies
The RPM package automatically installs these dependencies:
```
gtk3 - GTK+ GUI library
libnotify - Desktop notification library
nss - Network Security Services
libXScrnSaver - X11 screensaver library
libXtst - X11 testing library
xdg-utils - XDG standards utilities
at-spi2-core - Accessibility library
libuuid - UUID library
```
Most of these are pre-installed on typical Fedora/RHEL systems.
### Optional Dependencies
For development (source builds only):
- Node.js 22+
- npm 10+
The packaged application includes its own Electron runtime and does not require system Node.js.
## Supported Distributions
**Officially Tested:**
- Fedora 39, 40 (latest)
- Rocky Linux 9
- AlmaLinux 9
**Should Work:**
- CentOS Stream 9+
- openSUSE Leap/Tumbleweed (with compatibility layer)
- RHEL 9+
**Not Supported:**
- RHEL 8 (glibc 2.28 too old, requires Node.js 22)
- CentOS 7 and earlier
- Fedora versions older than 39
## Configuration
### Environment Variables
Set authentication via environment variable:
```bash
export ANTHROPIC_API_KEY=sk-ant-...
automaker
```
Or create `~/.config/automaker/.env`:
```
ANTHROPIC_API_KEY=sk-ant-...
```
### Configuration Directory
Automaker stores configuration and cache in:
```
~/.automaker/ # Project-specific data
~/.config/automaker/ # Application configuration
~/.cache/automaker/ # Cache and temporary files
```
## Troubleshooting
### Application Won't Start
**Check installation:**
```bash
rpm -qi automaker
rpm -V automaker
```
**Verify desktop file:**
```bash
cat /usr/share/applications/automaker.desktop
```
**Run from terminal for error output:**
```bash
automaker
```
### Missing Dependencies
If dependencies fail to install automatically:
**Fedora:**
```bash
sudo dnf install gtk3 libnotify nss libXScrnSaver libXtst xdg-utils at-spi2-core libuuid
```
**RHEL/CentOS (enable EPEL first if needed):**
```bash
sudo dnf install epel-release
sudo dnf install gtk3 libnotify nss libXScrnSaver libXtst xdg-utils at-spi2-core libuuid
```
### SELinux Denials
If Automaker fails on SELinux-enforced systems:
**Temporary workaround (testing):**
```bash
# Set SELinux to permissive mode
sudo setenforce 0
# Run Automaker
automaker
# Check for denials
sudo ausearch -m avc -ts recent | grep automaker
# Re-enable SELinux
sudo setenforce 1
```
**Permanent fix (not recommended for production):**
Create custom SELinux policy based on ausearch output. For support, see [GitHub Issues](https://github.com/AutoMaker-Org/automaker/issues).
### Port Conflicts
Automaker uses port 3008 for the internal server. If port is already in use:
**Find process using port 3008:**
```bash
sudo ss -tlnp | grep 3008
# or
lsof -i :3008
```
**Kill conflicting process (if safe):**
```bash
sudo kill -9 <PID>
```
Or configure Automaker to use different port (see Configuration section).
### Firewall Issues
On Fedora with firewalld enabled:
```bash
# Allow internal traffic (local development only)
sudo firewall-cmd --add-port=3008/tcp
sudo firewall-cmd --permanent --add-port=3008/tcp
```
### GPU/Acceleration
Automaker uses Chromium for rendering. GPU acceleration should work automatically on supported systems.
**Check acceleration:**
- Look for "GPU acceleration" status in application settings
- Verify drivers: `lspci | grep VGA`
**Disable acceleration if issues occur:**
```bash
DISABLE_GPU_ACCELERATION=1 automaker
```
### Terminal/Worktree Issues
If terminal emulator fails or git worktree operations hang:
1. Check disk space: `df -h`
2. Verify git installation: `git --version`
3. Check /tmp permissions: `ls -la /tmp`
4. File a GitHub issue with error output
### Unresponsive GUI
If the application freezes:
1. Wait 30 seconds (AI operations may be processing)
2. Check process: `ps aux | grep automaker`
3. Force quit if necessary: `killall automaker`
4. Check system resources: `free -h`, `top`
### Network Issues
If Claude API calls fail:
```bash
# Test internet connectivity
ping -c 3 api.anthropic.com
# Test API access
curl -I https://api.anthropic.com
# Verify API key is set (without exposing the value)
[ -n "$ANTHROPIC_API_KEY" ] && echo "API key is set" || echo "API key is NOT set"
```
## Uninstallation
### Remove Application
**Fedora:**
```bash
sudo dnf remove automaker
```
**RHEL/CentOS:**
```bash
sudo yum remove automaker
```
### Clean Configuration (Optional)
Remove all user data and configuration:
```bash
# Remove project-specific data
rm -rf ~/.automaker
# Remove application configuration
rm -rf ~/.config/automaker
# Remove cache
rm -rf ~/.cache/automaker
```
**Warning:** This removes all saved projects and settings. Ensure you have backups if needed.
## Building from Source
To build Automaker from source on Fedora/RHEL:
**Prerequisites:**
```bash
# Fedora
sudo dnf install nodejs npm git
# RHEL (enable EPEL first)
sudo dnf install epel-release
sudo dnf install nodejs npm git
```
**Build steps:**
```bash
# Clone repository
git clone https://github.com/AutoMaker-Org/automaker.git
cd automaker
# Install dependencies
npm install
# Build packages
npm run build:packages
# Build Linux packages
npm run build:electron:linux
# Packages in: apps/ui/release/
ls apps/ui/release/*.rpm
```
See main [README.md](../README.md) for detailed build instructions.
## Updating Automaker
**Automatic Updates:**
Automaker checks for updates on startup. Install available updates through notifications.
**Manual Update:**
```bash
# Fedora
sudo dnf update automaker
# RHEL/CentOS
sudo yum update automaker
# Or reinstall latest release
sudo dnf remove automaker
# Download the latest .rpm from releases page
# https://github.com/AutoMaker-Org/automaker/releases
# Then reinstall with:
# sudo dnf install ./Automaker-<VERSION>-x86_64.rpm
```
## Getting Help
### Resources
- [Main README](../README.md) - Project overview
- [CONTRIBUTING.md](../CONTRIBUTING.md) - Contributing guide
- [GitHub Issues](https://github.com/AutoMaker-Org/automaker/issues) - Bug reports & feature requests
- [Discussions](https://github.com/AutoMaker-Org/automaker/discussions) - Questions & community
### Reporting Issues
When reporting Fedora/RHEL issues, include:
```bash
# System information
lsb_release -a
uname -m
# Automaker version
rpm -qi automaker
# Error output (run from terminal)
automaker 2>&1 | tee automaker.log
# SELinux status
getenforce
# Relevant system logs
sudo journalctl -xeu automaker.service (if systemd service exists)
```
## Performance Tips
1. **Use SSD**: Faster than spinning disk, significantly improves performance
2. **Close unnecessary applications**: Free up RAM for AI agent processing
3. **Disable GPU acceleration if glitchy**: Set `DISABLE_GPU_ACCELERATION=1`
4. **Keep system updated**: `sudo dnf update`
5. **Use latest Fedora/RHEL**: Newer versions have better Electron support
## Security Considerations
### API Key Security
Never commit API keys to version control:
```bash
# Good: Use environment variable
export ANTHROPIC_API_KEY=sk-ant-...
# Good: Use .env file (not in git)
echo "ANTHROPIC_API_KEY=sk-ant-..." > ~/.config/automaker/.env
# Bad: Hardcoded in files
ANTHROPIC_API_KEY="sk-ant-..." (in any tracked file)
```
### SELinux Security
Running with SELinux disabled (`setenforce 0`) reduces security. Create custom policy:
1. Generate policy from audit logs: `ausearch -m avc -ts recent | grep automaker`
2. Use selinux-policy tools to create module
3. Install and test module
4. Keep SELinux enforcing
### File Permissions
Ensure configuration files are readable by user only:
```bash
chmod 600 ~/.config/automaker/.env
chmod 700 ~/.automaker/
chmod 700 ~/.config/automaker/
```
## Known Limitations
1. **Single display support**: Multi-monitor setups may have cursor synchronization issues
2. **X11 only**: Wayland support limited (runs under XWayland)
3. **No native systemd service**: Manual launcher or desktop file shortcut
4. **ARM/ARM64**: Not supported, x86_64 only
## Contributing
Found an issue or want to improve Fedora support? See [CONTRIBUTING.md](../CONTRIBUTING.md).
---
**Last Updated**: 2026-01-16
**Tested On**: Fedora 40, Rocky Linux 9, AlmaLinux 9