155 lines
3.4 KiB
Markdown
155 lines
3.4 KiB
Markdown
# ORLY Relay Bootstrap Script
|
|
|
|
This directory contains a bootstrap script that automates the deployment of the ORLY relay.
|
|
|
|
## Quick Start
|
|
|
|
### One-Line Installation
|
|
|
|
Clone the repository and deploy the relay with a single command:
|
|
|
|
```bash
|
|
curl -sSL https://git.nostrdev.com/mleku/next.orly.dev/raw/branch/main/scripts/bootstrap.sh | bash
|
|
```
|
|
|
|
**Note:** This assumes the script is accessible at the raw URL path. Adjust the URL based on your git server's raw file URL format.
|
|
|
|
### Alternative: Download and Execute
|
|
|
|
If you prefer to review the script before running it:
|
|
|
|
```bash
|
|
# Download the script
|
|
curl -o bootstrap.sh https://git.nostrdev.com/mleku/next.orly.dev/raw/branch/main/scripts/bootstrap.sh
|
|
|
|
# Review the script
|
|
cat bootstrap.sh
|
|
|
|
# Make it executable and run
|
|
chmod +x bootstrap.sh
|
|
./bootstrap.sh
|
|
```
|
|
|
|
## What the Bootstrap Script Does
|
|
|
|
1. **Checks Prerequisites**
|
|
- Verifies that `git` is installed on your system
|
|
|
|
2. **Clones or Updates Repository**
|
|
- Clones the repository to `~/src/next.orly.dev` if it doesn't exist
|
|
- If the repository already exists, pulls the latest changes from the main branch
|
|
- Stashes any local changes before updating
|
|
|
|
3. **Runs Deployment**
|
|
- Executes `scripts/deploy.sh` to:
|
|
- Install Go if needed
|
|
- Build the ORLY relay with embedded web UI
|
|
- Install the binary to `~/.local/bin/orly`
|
|
- Set up systemd service
|
|
- Configure necessary capabilities
|
|
|
|
4. **Provides Next Steps**
|
|
- Shows commands to start, check status, and view logs
|
|
|
|
## Post-Installation
|
|
|
|
After the bootstrap script completes, you can:
|
|
|
|
### Start the relay
|
|
```bash
|
|
sudo systemctl start orly
|
|
```
|
|
|
|
### Enable on boot
|
|
```bash
|
|
sudo systemctl enable orly
|
|
```
|
|
|
|
### Check status
|
|
```bash
|
|
sudo systemctl status orly
|
|
```
|
|
|
|
### View logs
|
|
```bash
|
|
sudo journalctl -u orly -f
|
|
```
|
|
|
|
### View relay identity
|
|
```bash
|
|
~/.local/bin/orly identity
|
|
```
|
|
|
|
## Configuration
|
|
|
|
The relay configuration is managed through environment variables. Edit the systemd service file to configure:
|
|
|
|
```bash
|
|
sudo systemctl edit orly
|
|
```
|
|
|
|
See the main README.md for available configuration options.
|
|
|
|
## Troubleshooting
|
|
|
|
### Git Not Found
|
|
```bash
|
|
# Ubuntu/Debian
|
|
sudo apt-get update && sudo apt-get install -y git
|
|
|
|
# Fedora/RHEL
|
|
sudo dnf install -y git
|
|
|
|
# Arch
|
|
sudo pacman -S git
|
|
```
|
|
|
|
### Permission Denied Errors
|
|
|
|
Make sure your user has sudo privileges for systemd service management.
|
|
|
|
### Port 443 Already in Use
|
|
|
|
If you're running TLS on port 443, make sure no other service is using that port:
|
|
|
|
```bash
|
|
sudo netstat -tlnp | grep :443
|
|
```
|
|
|
|
### Script Fails to Clone
|
|
|
|
If the repository URL is not accessible, you may need to:
|
|
- Check your network connection
|
|
- Verify the git server is accessible
|
|
- Use SSH URL instead (modify the script's `REPO_URL` variable)
|
|
|
|
## Manual Deployment
|
|
|
|
If you prefer to deploy manually without the bootstrap script:
|
|
|
|
```bash
|
|
# Clone repository
|
|
git clone https://git.nostrdev.com/mleku/next.orly.dev.git ~/src/next.orly.dev
|
|
|
|
# Enter directory
|
|
cd ~/src/next.orly.dev
|
|
|
|
# Run deployment
|
|
./scripts/deploy.sh
|
|
```
|
|
|
|
## Security Considerations
|
|
|
|
When running scripts from the internet:
|
|
1. Always review the script contents before execution
|
|
2. Use HTTPS URLs to prevent man-in-the-middle attacks
|
|
3. Verify the source is trustworthy
|
|
4. Consider using the "download and review" method instead of piping directly to bash
|
|
|
|
## Support
|
|
|
|
For issues or questions:
|
|
- Open an issue on the git repository
|
|
- Check the main README.md for detailed documentation
|
|
- Review logs with `sudo journalctl -u orly -f`
|