https://github.com/ethymoney/gitlab-activity-display
GitLab activity RSS feed display app. Designed for a Raspberry Pi with a 3.5" TFT display, but can be easily resized for whatever you have!
https://github.com/ethymoney/gitlab-activity-display
electron electron-app feed gitlab pi raspberry-pi raspberrypi rss rss-feed
Last synced: 2 months ago
JSON representation
GitLab activity RSS feed display app. Designed for a Raspberry Pi with a 3.5" TFT display, but can be easily resized for whatever you have!
- Host: GitHub
- URL: https://github.com/ethymoney/gitlab-activity-display
- Owner: EthyMoney
- License: mit
- Created: 2024-12-16T17:02:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-06T23:12:12.000Z (over 1 year ago)
- Last Synced: 2025-04-06T00:16:26.907Z (about 1 year ago)
- Topics: electron, electron-app, feed, gitlab, pi, raspberry-pi, raspberrypi, rss, rss-feed
- Language: Shell
- Homepage:
- Size: 188 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gitlab-activity-display
RSS activity feed display app for a Pi and a 3.5" TFT display.
## Get It
```bash
git clone https://github.com/EthyMoney/gitlab-activity-display.git
sudo chown -R $USER:$USER gitlab-activity-display
cd gitlab-activity-display
```
## Build It
Switch to the branch you want, there's a branch for 3.5" TFT (main), and 10.1" 1024x600 on a 32-bit Pi (32-bit-1024x600-version)
First, set your feed URL with a valid feed token in `config.json` (copy from `config.json.template`). This gets bundled into the built app, so it needs to be correct before building.
**Important: Never use `sudo` with npm commands as it creates permission issues!**
```bash
# Copy and configure the config file
cp config.json.template config.json
# Edit config.json with your GitLab feed URL and token
# Clean any previous builds (if needed)
rm -rf package-lock.json node_modules .vite
# Install dependencies
npm install
# Install system dependencies for packaging
sudo apt install rpm -y
# Build the application (choose one based on your target)
npm run make # for current architecture
npm run make-pi # for 64-bit ARM (Pi Zero2/3/4/5)
npm run make-pi-32 # for 32-bit ARM (Pi 1/2/Zero)
```
**If you encounter permission errors:**
```bash
# Fix ownership if files were created with sudo
sudo chown -R $USER:$USER .
# Clean temp directories
sudo rm -rf /tmp/electron-*
# Then retry the build
```
## Install It
```bash
# Install system dependencies
sudo apt install trash-cli libglib2.0-bin -y
# Install the built package (adjust architecture as needed)
sudo dpkg -i out/make/deb/armv7l/gitlab-activity-display_*.deb # for 32-bit ARM
# or
sudo dpkg -i out/make/deb/arm64/gitlab-activity-display_*.deb # for 64-bit ARM
# or
sudo dpkg -i out/make/deb/x64/gitlab-activity-display_*.deb # for x64
```
## Run As Service
See `service-config.txt` for details on how to run the app as a service.
## Troubleshooting
### Build Issues
**Error: "main entry point was not found"**
- This happens when the build process fails or is interrupted
- Solution: Clean build artifacts and rebuild:
```bash
rm -rf .vite node_modules package-lock.json
npm install
npm run make-pi-32 # or your target architecture
```
**Error: "EACCES: permission denied"**
- This happens when previous builds were run with `sudo`
- Solution: Fix ownership and clean temp files:
```bash
sudo chown -R $USER:$USER .
sudo rm -rf /tmp/electron-*
rm -rf .vite node_modules
npm install
```
**Error: "failed to load config"**
- Make sure `config.json` exists (copy from `config.json.template`)
- Ensure the config file has valid JSON syntax
### Runtime Issues
**App doesn't start or crashes**
- Check that all system dependencies are installed
- Verify the config.json has a valid GitLab feed URL
- Check system resources (especially on Pi 2/3/Zero)
## Uninstall It
```bash
sudo apt remove --purge gitlab-activity-display -y
```