# Raspberry Pi 설치 가이드
## 지원 모델 및 권장 사양
| 모델 | RAM | OS | Python | Agent 용도 | 상태 |
|------|-----|-----|--------|-----------|------|
| **Raspberry Pi 5** | 4GB/8GB | Bookworm | 3.11 | 전체 기능 | ✅ 권장 |
| **Raspberry Pi 4** | 4GB/8GB | Bullseye/Bookworm | 3.9/3.11 | 전체 기능 | ✅ 권장 |
| **Raspberry Pi 4** | 2GB | Bullseye | 3.9 | Agent 전용 | ⚠️ 제한적 |
| **Raspberry Pi 3** | 1GB | Bullseye+ | 3.9+ | Agent 전용 | ⚠️ 제한적 |
| Raspberry Pi 3 | 1GB | Stretch | 3.5 | - | ❌ 미지원 |
## 빠른 시작
### 권장: OS 업그레이드 (Raspberry Pi 3/4)
```bash
# 현재 OS 버전 확인
cat /etc/os-release
# Raspbian 9 (Stretch) 이하는 업그레이드 필요
# Python 3.8+ 필요 (Bullseye 이상)
```
**Raspberry Pi OS 업그레이드 방법**:
1. 데이터 백업
2. [Raspberry Pi Imager](https://www.raspberrypi.com/software/) 다운로드
3. **Raspberry Pi OS (64-bit)** 선택 (Bookworm 권장)
4. SD 카드에 굽기
5. 재부팅 후 설치
### 옵션 1: PyPI 설치 (가장 간단)
```bash
# Python 3.8+ 필요 (Bullseye 이상)
sudo pip3 install maruadmin-agent
# 설정 파일 생성
sudo mkdir -p /etc/maruadmin
sudo nano /etc/maruadmin/agent.conf
# 서비스 설정 (install.sh 참고)
```
### 옵션 2: GitHub에서 로컬 설치 (권장)
```bash
# 1. Git으로 전체 저장소 클론
git clone https://github.com/dirmich/maruadmin.git
cd maruadmin/agent
# 2. 설치 스크립트 실행 (로컬 소스 자동 감지)
sudo ./install.sh
# 로컬 소스가 있으면 자동으로 PyPI 대신 로컬에서 설치됩니다
```
### 옵션 2: 원격 설치 (최신 OS만)
```bash
# Python 3.8+ 필요 (Bullseye 이상)
curl -fsSL https://raw.githubusercontent.com/dirmich/maruadmin/main/agent/install.sh | sudo bash
```
### 옵션 3: 수동 설치 (고급 사용자)
```bash
# 1. 저장소 클론
git clone https://github.com/dirmich/maruadmin.git
cd maruadmin/agent
# 2. 가상 환경 생성
sudo python3 -m venv /opt/maruadmin/venv
# 3. 의존성 설치
sudo /opt/maruadmin/venv/bin/pip install --upgrade pip
sudo /opt/maruadmin/venv/bin/pip install -r requirements.txt
# 4. Agent 설치
sudo /opt/maruadmin/venv/bin/pip install -e .
# 5. 설정 파일 복사
sudo mkdir -p /etc/maruadmin
sudo cp agent.conf.example /etc/maruadmin/agent.conf
# 6. Systemd 서비스 생성 (install.sh 참고)
```
## Raspberry Pi 3 최적화
### Swap 메모리 증설 (필수)
```bash
# 현재 Swap 확인
free -h
# Swap 크기 변경 (2GB 권장)
sudo dphys-swapfile swapoff
sudo nano /etc/dphys-swapfile
# 다음 라인 수정:
# CONF_SWAPSIZE=2048
# 적용
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
# 확인
free -h
```
### 메모리 분할 조정
```bash
# GPU 메모리 최소화 (서버 전용)
sudo raspi-config
# Performance Options → GPU Memory → 16MB
# 또는 직접 수정
sudo nano /boot/config.txt
# gpu_mem=16
```
### 불필요한 서비스 비활성화
```bash
# Bluetooth 비활성화
sudo systemctl disable bluetooth
sudo systemctl stop bluetooth
# WiFi 비활성화 (유선 연결 사용 시)
sudo systemctl disable wpa_supplicant
# Desktop 환경 비활성화 (Lite 버전 권장)
sudo systemctl set-default multi-user.target
```
## Docker 설치 (컨테이너 관리용)
```bash
# Docker 설치
curl -fsSL https://get.docker.com | sudo sh
# maruadmin 사용자를 docker 그룹에 추가
sudo usermod -aG docker maruadmin
# 재부팅 또는 재로그인
sudo reboot
# 확인
docker ps
```
## 문제 해결
### Python 3.5 SSL 오류
```
SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE]
```
**원인**: Python 3.5는 최신 TLS를 지원하지 않음
**해결**: OS 업그레이드 (Bullseye 이상)
### 메모리 부족
```
MemoryError or system freezing
```
**해결**:
1. Swap 메모리 증설 (위 참고)
2. GPU 메모리 최소화
3. 불필요한 서비스 비활성화
### 성능 저하
**Raspberry Pi 3 최적화**:
- Agent만 실행 (Backend/Frontend는 다른 서버)
- Docker 컨테이너 수 제한 (2-3개)
- 모니터링 간격 증가 (60초 → 120초)
```bash
# /etc/maruadmin/agent.conf
monitor_interval = 120
heartbeat_interval = 60
```
## 네트워크 설정
### 고정 IP 설정 (권장)
```bash
# /etc/dhcpcd.conf 수정
sudo nano /etc/dhcpcd.conf
# 다음 추가 (예시):
interface eth0
static ip_address=192.168.1.100/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4
# 적용
sudo systemctl restart dhcpcd
```
### SSH 활성화
```bash
# SSH 서비스 활성화
sudo systemctl enable ssh
sudo systemctl start ssh
# 공개키 추가 (Backend에서 생성된 키)
mkdir -p ~/.ssh
echo 'ssh-rsa AAAA...' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
```
## 벤치마크 (참고)
| 작업 | Pi 5 (8GB) | Pi 4 (4GB) | Pi 3 (1GB) |
|------|-----------|-----------|-----------|
| Agent 시작 | ~2초 | ~5초 | ~15초 |
| 하트비트 | <1ms | ~2ms | ~5ms |
| 컨테이너 목록 | ~50ms | ~100ms | ~200ms |
| 메모리 사용 | ~50MB | ~80MB | ~120MB |
## FAQ
**Q: Raspberry Pi 3에서 Backend도 실행 가능한가요?**
A: 가능하지만 권장하지 않습니다. Agent만 실행하세요.
**Q: Docker 없이 사용 가능한가요?**
A: 가능합니다. 컨테이너 관리 기능만 비활성화됩니다.
**Q: 여러 Raspberry Pi를 연결할 수 있나요?**
A: 가능합니다. 각 Pi에 Agent를 설치하고 다른 이름으로 등록하세요.
**Q: 전력 소비는 어느 정도인가요?**
A: Pi 5 (5W), Pi 4 (3W), Pi 3 (2.5W) - Agent 실행 시
## 추가 리소스
- [Raspberry Pi OS 다운로드](https://www.raspberrypi.com/software/)
- [Raspberry Pi 공식 문서](https://www.raspberrypi.com/documentation/)
- [Docker on Raspberry Pi](https://docs.docker.com/engine/install/debian/)
- [MaruAdmin 메인 문서](../INSTALL.md)
            
         
        Raw data
        
            {
    "_id": null,
    "home_page": null,
    "name": "maruadmin-agent",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "server, management, monitoring, agent, docker, haproxy",
    "author": "MaruAdmin Team",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/c7/c3/d157fb320c0877861f2a08f26a43fbb2f46658446fa71a9af7562bd9ef56/maruadmin_agent-0.3.5.tar.gz",
    "platform": null,
    "description": "# Raspberry Pi \uc124\uce58 \uac00\uc774\ub4dc\n\n## \uc9c0\uc6d0 \ubaa8\ub378 \ubc0f \uad8c\uc7a5 \uc0ac\uc591\n\n| \ubaa8\ub378 | RAM | OS | Python | Agent \uc6a9\ub3c4 | \uc0c1\ud0dc |\n|------|-----|-----|--------|-----------|------|\n| **Raspberry Pi 5** | 4GB/8GB | Bookworm | 3.11 | \uc804\uccb4 \uae30\ub2a5 | \u2705 \uad8c\uc7a5 |\n| **Raspberry Pi 4** | 4GB/8GB | Bullseye/Bookworm | 3.9/3.11 | \uc804\uccb4 \uae30\ub2a5 | \u2705 \uad8c\uc7a5 |\n| **Raspberry Pi 4** | 2GB | Bullseye | 3.9 | Agent \uc804\uc6a9 | \u26a0\ufe0f \uc81c\ud55c\uc801 |\n| **Raspberry Pi 3** | 1GB | Bullseye+ | 3.9+ | Agent \uc804\uc6a9 | \u26a0\ufe0f \uc81c\ud55c\uc801 |\n| Raspberry Pi 3 | 1GB | Stretch | 3.5 | - | \u274c \ubbf8\uc9c0\uc6d0 |\n\n## \ube60\ub978 \uc2dc\uc791\n\n### \uad8c\uc7a5: OS \uc5c5\uadf8\ub808\uc774\ub4dc (Raspberry Pi 3/4)\n\n```bash\n# \ud604\uc7ac OS \ubc84\uc804 \ud655\uc778\ncat /etc/os-release\n\n# Raspbian 9 (Stretch) \uc774\ud558\ub294 \uc5c5\uadf8\ub808\uc774\ub4dc \ud544\uc694\n# Python 3.8+ \ud544\uc694 (Bullseye \uc774\uc0c1)\n```\n\n**Raspberry Pi OS \uc5c5\uadf8\ub808\uc774\ub4dc \ubc29\ubc95**:\n1. \ub370\uc774\ud130 \ubc31\uc5c5\n2. [Raspberry Pi Imager](https://www.raspberrypi.com/software/) \ub2e4\uc6b4\ub85c\ub4dc\n3. **Raspberry Pi OS (64-bit)** \uc120\ud0dd (Bookworm \uad8c\uc7a5)\n4. SD \uce74\ub4dc\uc5d0 \uad7d\uae30\n5. \uc7ac\ubd80\ud305 \ud6c4 \uc124\uce58\n\n### \uc635\uc158 1: PyPI \uc124\uce58 (\uac00\uc7a5 \uac04\ub2e8)\n\n```bash\n# Python 3.8+ \ud544\uc694 (Bullseye \uc774\uc0c1)\nsudo pip3 install maruadmin-agent\n\n# \uc124\uc815 \ud30c\uc77c \uc0dd\uc131\nsudo mkdir -p /etc/maruadmin\nsudo nano /etc/maruadmin/agent.conf\n\n# \uc11c\ube44\uc2a4 \uc124\uc815 (install.sh \ucc38\uace0)\n```\n\n### \uc635\uc158 2: GitHub\uc5d0\uc11c \ub85c\uceec \uc124\uce58 (\uad8c\uc7a5)\n\n```bash\n# 1. Git\uc73c\ub85c \uc804\uccb4 \uc800\uc7a5\uc18c \ud074\ub860\ngit clone https://github.com/dirmich/maruadmin.git\ncd maruadmin/agent\n\n# 2. \uc124\uce58 \uc2a4\ud06c\ub9bd\ud2b8 \uc2e4\ud589 (\ub85c\uceec \uc18c\uc2a4 \uc790\ub3d9 \uac10\uc9c0)\nsudo ./install.sh\n\n# \ub85c\uceec \uc18c\uc2a4\uac00 \uc788\uc73c\uba74 \uc790\ub3d9\uc73c\ub85c PyPI \ub300\uc2e0 \ub85c\uceec\uc5d0\uc11c \uc124\uce58\ub429\ub2c8\ub2e4\n```\n\n### \uc635\uc158 2: \uc6d0\uaca9 \uc124\uce58 (\ucd5c\uc2e0 OS\ub9cc)\n\n```bash\n# Python 3.8+ \ud544\uc694 (Bullseye \uc774\uc0c1)\ncurl -fsSL https://raw.githubusercontent.com/dirmich/maruadmin/main/agent/install.sh | sudo bash\n```\n\n### \uc635\uc158 3: \uc218\ub3d9 \uc124\uce58 (\uace0\uae09 \uc0ac\uc6a9\uc790)\n\n```bash\n# 1. \uc800\uc7a5\uc18c \ud074\ub860\ngit clone https://github.com/dirmich/maruadmin.git\ncd maruadmin/agent\n\n# 2. \uac00\uc0c1 \ud658\uacbd \uc0dd\uc131\nsudo python3 -m venv /opt/maruadmin/venv\n\n# 3. \uc758\uc874\uc131 \uc124\uce58\nsudo /opt/maruadmin/venv/bin/pip install --upgrade pip\nsudo /opt/maruadmin/venv/bin/pip install -r requirements.txt\n\n# 4. Agent \uc124\uce58\nsudo /opt/maruadmin/venv/bin/pip install -e .\n\n# 5. \uc124\uc815 \ud30c\uc77c \ubcf5\uc0ac\nsudo mkdir -p /etc/maruadmin\nsudo cp agent.conf.example /etc/maruadmin/agent.conf\n\n# 6. Systemd \uc11c\ube44\uc2a4 \uc0dd\uc131 (install.sh \ucc38\uace0)\n```\n\n## Raspberry Pi 3 \ucd5c\uc801\ud654\n\n### Swap \uba54\ubaa8\ub9ac \uc99d\uc124 (\ud544\uc218)\n\n```bash\n# \ud604\uc7ac Swap \ud655\uc778\nfree -h\n\n# Swap \ud06c\uae30 \ubcc0\uacbd (2GB \uad8c\uc7a5)\nsudo dphys-swapfile swapoff\nsudo nano /etc/dphys-swapfile\n\n# \ub2e4\uc74c \ub77c\uc778 \uc218\uc815:\n# CONF_SWAPSIZE=2048\n\n# \uc801\uc6a9\nsudo dphys-swapfile setup\nsudo dphys-swapfile swapon\n\n# \ud655\uc778\nfree -h\n```\n\n### \uba54\ubaa8\ub9ac \ubd84\ud560 \uc870\uc815\n\n```bash\n# GPU \uba54\ubaa8\ub9ac \ucd5c\uc18c\ud654 (\uc11c\ubc84 \uc804\uc6a9)\nsudo raspi-config\n# Performance Options \u2192 GPU Memory \u2192 16MB\n\n# \ub610\ub294 \uc9c1\uc811 \uc218\uc815\nsudo nano /boot/config.txt\n# gpu_mem=16\n```\n\n### \ubd88\ud544\uc694\ud55c \uc11c\ube44\uc2a4 \ube44\ud65c\uc131\ud654\n\n```bash\n# Bluetooth \ube44\ud65c\uc131\ud654\nsudo systemctl disable bluetooth\nsudo systemctl stop bluetooth\n\n# WiFi \ube44\ud65c\uc131\ud654 (\uc720\uc120 \uc5f0\uacb0 \uc0ac\uc6a9 \uc2dc)\nsudo systemctl disable wpa_supplicant\n\n# Desktop \ud658\uacbd \ube44\ud65c\uc131\ud654 (Lite \ubc84\uc804 \uad8c\uc7a5)\nsudo systemctl set-default multi-user.target\n```\n\n## Docker \uc124\uce58 (\ucee8\ud14c\uc774\ub108 \uad00\ub9ac\uc6a9)\n\n```bash\n# Docker \uc124\uce58\ncurl -fsSL https://get.docker.com | sudo sh\n\n# maruadmin \uc0ac\uc6a9\uc790\ub97c docker \uadf8\ub8f9\uc5d0 \ucd94\uac00\nsudo usermod -aG docker maruadmin\n\n# \uc7ac\ubd80\ud305 \ub610\ub294 \uc7ac\ub85c\uadf8\uc778\nsudo reboot\n\n# \ud655\uc778\ndocker ps\n```\n\n## \ubb38\uc81c \ud574\uacb0\n\n### Python 3.5 SSL \uc624\ub958\n\n```\nSSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE]\n```\n\n**\uc6d0\uc778**: Python 3.5\ub294 \ucd5c\uc2e0 TLS\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc74c\n\n**\ud574\uacb0**: OS \uc5c5\uadf8\ub808\uc774\ub4dc (Bullseye \uc774\uc0c1)\n\n### \uba54\ubaa8\ub9ac \ubd80\uc871\n\n```\nMemoryError or system freezing\n```\n\n**\ud574\uacb0**:\n1. Swap \uba54\ubaa8\ub9ac \uc99d\uc124 (\uc704 \ucc38\uace0)\n2. GPU \uba54\ubaa8\ub9ac \ucd5c\uc18c\ud654\n3. \ubd88\ud544\uc694\ud55c \uc11c\ube44\uc2a4 \ube44\ud65c\uc131\ud654\n\n### \uc131\ub2a5 \uc800\ud558\n\n**Raspberry Pi 3 \ucd5c\uc801\ud654**:\n- Agent\ub9cc \uc2e4\ud589 (Backend/Frontend\ub294 \ub2e4\ub978 \uc11c\ubc84)\n- Docker \ucee8\ud14c\uc774\ub108 \uc218 \uc81c\ud55c (2-3\uac1c)\n- \ubaa8\ub2c8\ud130\ub9c1 \uac04\uaca9 \uc99d\uac00 (60\ucd08 \u2192 120\ucd08)\n\n```bash\n# /etc/maruadmin/agent.conf\nmonitor_interval = 120\nheartbeat_interval = 60\n```\n\n## \ub124\ud2b8\uc6cc\ud06c \uc124\uc815\n\n### \uace0\uc815 IP \uc124\uc815 (\uad8c\uc7a5)\n\n```bash\n# /etc/dhcpcd.conf \uc218\uc815\nsudo nano /etc/dhcpcd.conf\n\n# \ub2e4\uc74c \ucd94\uac00 (\uc608\uc2dc):\ninterface eth0\nstatic ip_address=192.168.1.100/24\nstatic routers=192.168.1.1\nstatic domain_name_servers=8.8.8.8 8.8.4.4\n\n# \uc801\uc6a9\nsudo systemctl restart dhcpcd\n```\n\n### SSH \ud65c\uc131\ud654\n\n```bash\n# SSH \uc11c\ube44\uc2a4 \ud65c\uc131\ud654\nsudo systemctl enable ssh\nsudo systemctl start ssh\n\n# \uacf5\uac1c\ud0a4 \ucd94\uac00 (Backend\uc5d0\uc11c \uc0dd\uc131\ub41c \ud0a4)\nmkdir -p ~/.ssh\necho 'ssh-rsa AAAA...' >> ~/.ssh/authorized_keys\nchmod 600 ~/.ssh/authorized_keys\nchmod 700 ~/.ssh\n```\n\n## \ubca4\uce58\ub9c8\ud06c (\ucc38\uace0)\n\n| \uc791\uc5c5 | Pi 5 (8GB) | Pi 4 (4GB) | Pi 3 (1GB) |\n|------|-----------|-----------|-----------|\n| Agent \uc2dc\uc791 | ~2\ucd08 | ~5\ucd08 | ~15\ucd08 |\n| \ud558\ud2b8\ube44\ud2b8 | <1ms | ~2ms | ~5ms |\n| \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d | ~50ms | ~100ms | ~200ms |\n| \uba54\ubaa8\ub9ac \uc0ac\uc6a9 | ~50MB | ~80MB | ~120MB |\n\n## FAQ\n\n**Q: Raspberry Pi 3\uc5d0\uc11c Backend\ub3c4 \uc2e4\ud589 \uac00\ub2a5\ud55c\uac00\uc694?**\nA: \uac00\ub2a5\ud558\uc9c0\ub9cc \uad8c\uc7a5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. Agent\ub9cc \uc2e4\ud589\ud558\uc138\uc694.\n\n**Q: Docker \uc5c6\uc774 \uc0ac\uc6a9 \uac00\ub2a5\ud55c\uac00\uc694?**\nA: \uac00\ub2a5\ud569\ub2c8\ub2e4. \ucee8\ud14c\uc774\ub108 \uad00\ub9ac \uae30\ub2a5\ub9cc \ube44\ud65c\uc131\ud654\ub429\ub2c8\ub2e4.\n\n**Q: \uc5ec\ub7ec Raspberry Pi\ub97c \uc5f0\uacb0\ud560 \uc218 \uc788\ub098\uc694?**\nA: \uac00\ub2a5\ud569\ub2c8\ub2e4. \uac01 Pi\uc5d0 Agent\ub97c \uc124\uce58\ud558\uace0 \ub2e4\ub978 \uc774\ub984\uc73c\ub85c \ub4f1\ub85d\ud558\uc138\uc694.\n\n**Q: \uc804\ub825 \uc18c\ube44\ub294 \uc5b4\ub290 \uc815\ub3c4\uc778\uac00\uc694?**\nA: Pi 5 (5W), Pi 4 (3W), Pi 3 (2.5W) - Agent \uc2e4\ud589 \uc2dc\n\n## \ucd94\uac00 \ub9ac\uc18c\uc2a4\n\n- [Raspberry Pi OS \ub2e4\uc6b4\ub85c\ub4dc](https://www.raspberrypi.com/software/)\n- [Raspberry Pi \uacf5\uc2dd \ubb38\uc11c](https://www.raspberrypi.com/documentation/)\n- [Docker on Raspberry Pi](https://docs.docker.com/engine/install/debian/)\n- [MaruAdmin \uba54\uc778 \ubb38\uc11c](../INSTALL.md)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MaruAdmin Remote Server Management Agent",
    "version": "0.3.5",
    "project_urls": {
        "Homepage": "https://github.com/dirmich/maruadmin",
        "Issues": "https://github.com/dirmich/maruadmin/issues",
        "Repository": "https://github.com/dirmich/maruadmin"
    },
    "split_keywords": [
        "server",
        " management",
        " monitoring",
        " agent",
        " docker",
        " haproxy"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6771bb0159c786c9c57120fb01e97b8ef65c7eb26e790767d2e5b8ec6b244fec",
                "md5": "97736f28d0da0c7224c549a99579a36a",
                "sha256": "95efa7d02874c8a451d440cd21eed6a1742990cd8dc4ce236467be7ab2f51546"
            },
            "downloads": -1,
            "filename": "maruadmin_agent-0.3.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "97736f28d0da0c7224c549a99579a36a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 40259,
            "upload_time": "2025-10-23T05:02:23",
            "upload_time_iso_8601": "2025-10-23T05:02:23.370470Z",
            "url": "https://files.pythonhosted.org/packages/67/71/bb0159c786c9c57120fb01e97b8ef65c7eb26e790767d2e5b8ec6b244fec/maruadmin_agent-0.3.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c7c3d157fb320c0877861f2a08f26a43fbb2f46658446fa71a9af7562bd9ef56",
                "md5": "1ae338bef06865a41c04fb6c49aaeef0",
                "sha256": "7c8e1dfd526846ed4eb2ac3a623affde610db0f5489306a35de0a999f58a6b90"
            },
            "downloads": -1,
            "filename": "maruadmin_agent-0.3.5.tar.gz",
            "has_sig": false,
            "md5_digest": "1ae338bef06865a41c04fb6c49aaeef0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 37790,
            "upload_time": "2025-10-23T05:02:24",
            "upload_time_iso_8601": "2025-10-23T05:02:24.504246Z",
            "url": "https://files.pythonhosted.org/packages/c7/c3/d157fb320c0877861f2a08f26a43fbb2f46658446fa71a9af7562bd9ef56/maruadmin_agent-0.3.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-23 05:02:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dirmich",
    "github_project": "maruadmin",
    "github_not_found": true,
    "lcname": "maruadmin-agent"
}