Repository: ruesandora/mangata-AVS
Branch: main
Commit: 49e5e5abe14b
Files: 7
Total size: 20.7 KB
Directory structure:
gitextract_dp4jfmdt/
├── README.md
├── auto-restart/
│ ├── README.MD
│ ├── README_en.md
│ ├── requirements.txt
│ └── restart_container_if_err.py
├── güncelleme.md
└── node taşıma.md
================================================
FILE CONTENTS
================================================
================================================
FILE: README.md
================================================
<h1 align="center"> Mangata X - AVS </h1>
## Notlar:
> Selamlar, bir süredir mangata çalıştırıyorum lakin 30 kişi ile sınırlıydı ve artık sınır kalktı.
> Neden Mangata kuruyor Eigen AVS ekosistemine önem veriyorum [buradan](https://x.com/Ruesandora0/status/1754194993592275362?s=20) okuyabilirsiniz.
> Testnet ne kadar sürürecek bilinmiyor, rewards var evet - KYC olabilir.
> Ayrıca Mangatanın bir tokeni mevcut, yatırımcıları oldukça iyi ileride daha iyi hale gelecek bir protokol ve testnet önemli.
> Ricamdır notları ve satır aralarını okumanızda, bu repoyu paylaştıktan sonra uçakta olacağım her şeyi yazıyorum size.
> Son olarak, hocam şu node ile bu node yan yana olur mu diye sormayın [buraya](https://x.com/Ruesandora0/status/1744023547805061515?s=20) bakın arkadaşlar <3
> Topluluk kanalları: [Sohbet Kanalımız](https://t.me/RuesChat) - [Duyurular ve Gelişmeler](https://t.me/RuesAnnouncement) - [Whatsapp](https://whatsapp.com/channel/0029VaBcj7V1dAw1H2KhMk34) - [Mangata Discord](https://discord.gg/mangata)
#
<h1 align="center"> Donanım </h1>
> Görseldekine benzer bir cihaz yeterli, bunun için [Hetzner](https://github.com/ruesandora/Hetzner) kullanıyorum
<img width="782" alt="Ekran Resmi 2024-02-07 13 45 17" src="https://github.com/ruesandora/mangata-AVS/assets/101149671/9c040e48-ca4b-44e2-a777-3a31b6cee06d">
<h1 align="center"> Kurulum </h1>
```console
# Güncelleme ve docker kurulumu, komutları sırasıyla girebilirsiniz
sudo apt update -y && sudo apt upgrade -y
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# bu komut satırını toplu girebilirsiniz
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# docker güncelleme ve run
sudo apt update -y && sudo apt upgrade -y
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
# Go kurulumu
cd $HOME
ver="1.21.0"
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version
```
<h1 align="center"> EigenLayer CLI kurulumu </h1>
```console
# eigen klonlayalım
git clone https://github.com/Layr-Labs/eigenlayer-cli.git
cd eigenlayer-cli
mkdir -p build
go build -o build/eigenlayer cmd/eigenlayer/main.go
# Binary dosyamızı PATH yoluna gönderiyoruz
cd
sudo cp eigenlayer-cli/build/eigenlayer /usr/local/bin/
```
> Altta ki komutlar ile KEY oluşturuyoruz..
> `ecdsa` KEY bize bir `evm` adresi, `private key` ve dosya `path` (yolu) verecek
> `bls` KEY ise bir `private key` verecek. Hepsini kaydedin.
> Kapalı parantez dahil, `<key-ismi>` değiştirin, <> parantezleri kaldırın..
> Her komuttan sonra şifre oluşturmanızı isteyecek, şifre karmaşık olmalı.
> Örnek şifre DenemeSifre123.,#%
```
eigenlayer operator keys create --key-type ecdsa <key-ismi>
eigenlayer operator keys create --key-type bls <key-ismi>
```
> Listeleyerek keyleri ve dosya yollarını kontrol edin
```
eigenlayer operator keys list
```
> Örnek ecdsa key create çıktısı

<h1 align="center"> Operator kaydı </h1>
```console
# Bu komutun istediği verileri giriyoruz, veriler aşağıda yazdım.
eigenlayer operator config create
```
> Sırasıyla bunlarıda yazıyorum kolaylık için, en aşağıda görselide olcak:
> y diyoruz
> operator adresi olarak, `ecdsa key` oluşturduğumuzda verdiği `evm` adresini girin.
> earning operator adres yine aynı ecdsa-evm adresi girin, yukarıdaki ile aynı.
> goerli eth RPC isteyecek, [infuradan](https://app.infura.io/) aldım ben ücretsiz goerli RPC
> `ecdsa key` oluşturduğumuzda bize verdiği key pathi tam şekilde giriyoruz
> aynı şekilde `bls key` path giriyoruz - path ne olduğunu bilmeyenler için görsele bakabilir
> goerli seçiyoruz ve bitiyor.
> Bu bize operator.yaml ve metadata.json dosyalarını oluşturacak..

#
### peki metadata'da işlemlerimiz biraz farklı hemen anlatıyorum:
> `nano metadata.json` komutu ile içeriği kopyalıyoruz.
> metadata.json içeriğini kendinize göre düzenleyeceksiniz ve public erişilebilir bir yere upload edeceksiniz.
> Bunun için githubda bir repo oluşturup metadata.json içeriğinizi oraya yazın ve raw linkini kenarda tutabilirsiniz. Hem metadata.json içinde düzenleyeceksiniz hem de github reponuzda.
> Aşağıya görsel bırakıyorum:

#
### raw'ı hallettiysek kaydımıza devam edelim
```console
# Operator.yaml dosyasını nano ile açıyoruz
nano operator.yaml
```
> Burada yine değişiklik yapacağız
> `metadata_url` için `metadata.json` dosyamızın public `raw linki`
> `el_slasher_address` için: 0x3865B5F5297f86c5295c7f818BAD1fA5286b8Be6
> `bls_public_key_compendium_address` için: 0xc81d3963087Fe09316cd1E032457989C7aC91b19
> ctrl + x + y ile kaydedip çıkıyoruz.

```console
# operatoru kaydetmeden önce yukarıda aldığınız EVM cüzdanınıza biraz goerli ETH gönderin
# Operatörü kaydediyoruz
eigenlayer operator register operator.yaml
# Loglar aksın başarılı bir şekilde sonlanana kadar müsade edin
# Durumunu kontrol etmek için
eigenlayer operator status operator.yaml
# metadata herhangi bir değişiklik yaptığınızda güncellemek için
eigenlayer operator update operator.yaml
```
<h1 align="center"> Eigen bitti şimdi Mangata AVS </h1>
> reth temini için [buradan](https://app.uniswap.org/swap??outputCurrency=0x178e141a0e3b34152f73ff610437a7bf9b83267a) swap
> steth temini için [buradan](https://app.uniswap.org/swap??outputCurrency=0x1643e812ae58766192cf7d2cf9567df2c37e9b7f
) swap
> Elimizdeki reth ve steth stake etmemiz gerekiyor.
> Elinizdeki `ecsda private keyi` Metamaska `import` edin ve swap ile temin ettiğiniz tokenleri bu cüzdana gönderin.
> Sonrasında [buradan](https://goerli.eigenlayer.xyz/) cüzdanı bağlıyoruz ve bu iki poola stake ediyoruz.

> Txler onaylandıktan sonra terminalimize dönüyoruz ve AVS operatörümüzü kuruluma geçiyoruz
```console
git clone https://github.com/mangata-finance/avs-operator-setup.git
cd avs-operator-setup
chmod +x run.sh
nano .env
```

```console
# Üst kısma dokunmuyorsunuz. SADECE: TODO yazan satırın altı bizi ilgilendiriyor.
ETH_RPC_URL= goerli eth rpc http linki
ETH_WS_URL= goerli eth wss linki
# bu linkleri infuradan almıştık, zorlanırsan rues chatten yardım talep edin.
# key yolundan kastım path, yukarıda öğrenmiştiniz.
ECDSA_KEY_FILE_HOST=/.eigenlayer/operator_keys/<key-name>.ecdsa.key.json
BLS_KEY_FILE_HOST=/.eigenlayer/operator_keys/<key-name>.bls.key.json
# yukarıda bir şifre belirlemiştik her yerde kullandığımız.
ECDSA_KEY_PASSWORD= eigen cli kurulumda belirlediğimiz karmaşık key şifresi
BLS_KEY_PASSWORD= eigen cli kurulumda belirlediğimiz karmaşık key şifresi
# ctrl + x + y yapıp kaydedip çıkıyoruz
# şimdi opt-in yapalım son hamleler..
./run.sh opt-in
# key yolunda, şifrede vs hata yoksa bu adımlardan sonra docker compose up yapıyoruz ve sona geliyoruz.
docker compose up -d
# bir sorun olup olmadığını kontrol etmek için docker ps ile container id alın
docker logs -f <container_id>
# container id başta olur ve kurduğunuz node'un isminden hangi id olduğunu anlayabilirsiniz.
```
> Loglarınızı Mangata AVS kanalına atıp rolünüzüde alabilirsiniz.
> işlemler bu kadardı, sırf sorun var mı diye tekrar test edip kurdum sorun yok çünkü bu repoyu eskiden yazdım.
> İlla ki eksiğim vardır, PR atarsınız veya ben commitlerim, ben yolculuktayken siz öğrenmeye bakın bir şeyler.
================================================
FILE: auto-restart/README.MD
================================================
# Mangata-AVS Operatörü Otomatik Yeniden Başlatma
Bu komut dosyası, Mangata operatörü "err: connection is shut down" hatasını verdiğinde konteyneri yeniden başlatır. Bu komut dosyası kendi sunucumda çalışmaktadır ve herhangi bir sorun olmamıştır. Komut dosyasını çalıştırmadan önce varsayılan konteyner adını değiştirdiyseniz `container_name` değişkenini kontrol edin (konteyner adını kontrol etmek için `docker ps` kullanın).
**Not:**
* Bu komut dosyası, kullanıcının docker kullanıcı grubuna eklenmesini gerektirir.
* Gerekli izinlere sahip değilseniz komut dosyası başarısız olabilir.
## Kurulum
```bash
## Repoyu klonlama
git clone https://github.com/walter-s0bch4k/mangata-AVS-with-auto-restart.git
# İndirilen repoda doğru klasöre gidin
cd mangata-AVS-with-auto-restart/auto-restart
# Eğer repoyu farklı bir adresten indirdiyseniz, lütfen indirdiğiniz adresin dosya isimlerini kontrol ederek
# İçerisinde `requirements.txt` ve `restart_container_if_err.py` dosyaları olan klasöre gidin.
# Doğru yerde olduğunuzu kontrol etmek için
ls -al
# Komutunun çıktısında `requirements.txt` ve `restart_container_if_err.py` dosyalarını görmelisiniz.
## pip Kurulumu
# pip kurulum komut dosyasını indirin
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# Komut dosyasını çalıştırın, python3'ü python ile değiştirmeniz gerekebilir
sudo python3 get-pip.py
## Docker Ayarları
# docker kullanıcı grubu oluşturun
sudo groupadd docker
# Mevcut kullanıcıyı docker grubuna ekleyin
sudo usermod -aG docker $USER
# Bu adımdan sonra hesabınızdan çıkıp tekrar giriş yapmanız gerekmektedir.
# Uzak bağlantı kullanıyorsanız bağlantıyı kapatıp tekrar bağlanmayı deneyebilirsiniz.
## Komut Dosyasını Çalıştırma
# Gerekli paketleri kurun
pip install -r requirements.txt
# Arka planda çalışması için nohup kullanın, bağlantınız kesilse bile çalışmaya devam eder
nohup python3 -u restart_container_if_err.py > logs.txt &
# Logları kontrol edin. İçeriği dikkatlice okuyun, hata olmamalıdır.
cat logs.txt
## !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
## Konteyneri manuel olarak yeniden başlattıysanız veya kapattıysanız işlemi sonlandırın!
# PID'yi alın
ps -aux | grep restart_container_if_err.py
# Ardından işlemi sonlandırın
kill -9 <PID>
```
================================================
FILE: auto-restart/README_en.md
================================================
# Mangata-AVS Operator Auto Restart
This script restarts the container if the Mangata operator raises the `err: connection is shut down` error. Consequences are at your own responsibility. It is running on my server. Check the `container_name` variable if you changed the default name of the container before starting the script (`docker ps` to check container name).
**Note:**
* This script requires the user to be added to the `docker` user group.
* The script may fail if you don't have the required permissions.
## Installation
```bash
## Cloning repository
git clone https://github.com/walter-s0bch4k/mangata-AVS-with-auto-restart.git
# Change directory to downloaded repository
cd mangata-AVS-with-auto-restart
# If you downloaded the repo from a different location, please navigate to the folder containing the
# `requirements.txt` and `restart_container_if_err.py` files by checking the file names in the download location.
# To verify you are in the correct location, run the following command:
ls -al
# You should see the `requirements.txt` and `restart_container_if_err.py` files in the output of the command.
## Installing pip
# Get pip installation script
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# Execute script to install, you might need to replace python3 to python etc.
sudo python3 get-pip.py
## Docker settings
# Create docker user group
sudo groupadd docker
# Add current user to docker group
sudo usermod -aG docker $USER
## Executing the script
# Install required packages
pip install -r requirements.txt
# Execute using nohup to make it run in background even if you disconnect
nohup python3 -u restart_container_if_err.py > logs.txt &
# Checking logs. Please read content carefully, there should be no errors.
cat logs.txt
## !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
## Kill the process if you manually restart container or close it!
# Get PID by
ps -aux | grep restart_container_if_err.py
# Then kill process
kill -9 <PID>
```
================================================
FILE: auto-restart/requirements.txt
================================================
certifi==2024.2.2
charset-normalizer==3.3.2
docker==7.0.0
idna==3.6
packaging==23.2
requests==2.31.0
urllib3==2.2.0
================================================
FILE: auto-restart/restart_container_if_err.py
================================================
import json
import docker
from datetime import datetime
client = docker.from_env() # Connect to the local Docker daemon
if __name__ == "__main__":
# Replace with your actual container name
container_name = "mangata-finalizer-node"
container = client.containers.get(container_name)
print("Script started!")
print("Container State: ", container.attrs['State'])
while True:
# We assume that container is already up and running
# It is restarted if "connection is shut down" error is encountered in the logs
if container.attrs['State']['Restarting'] == True or container.attrs['State']['Status'] == "restarting":
pass # If state is restarting do nothing
else:
try:
script_initalized = datetime.now() # Required to filter logs by time
for line in container.logs(stream=True, follow=True, since=script_initalized):
decoded_line = line.decode('utf-8').strip().split("\t")
if len(decoded_line) > 1 and decoded_line[1] == "INFO":
try: # Required to suppress errors raised by json package
message = json.loads(decoded_line[-1])
if "err" in message:
if message["err"] == "connection is shut down":
print("Restart required!")
print(decoded_line[0], message)
container.restart()
break
else:
print(decoded_line[0], message)
except Exception as e:
pass
except Exception as e:
print(f"Error: {e}")
break # Terminate
================================================
FILE: güncelleme.md
================================================
// mevcut avs-operator-setup klasörü içindeki .env dosyasını yedek alın
```
cd avs-operator-setup
docker-compose down
git reset --hard
git pull
git checkout tags/v0.2 -b v0.2
```
//yedek aldığın .env dosyasını açıp (`nano .env`) yeni dosyadaki boşluk olan yerleri de değiştir. Eigende stETH min 1 olacak şekilde stake arttır
```
docker-compose pull
docker-compose up -d
docker logs -f avs-finalizer-node
```
## Readonly hatası alıyorsanız:
```
# operatörü durdur
docker-compose down
```
Docker config dosyasına giriyoruz
```
nano docker-compose.yml
```
Config dosyasının içindeki iki satırın sonunda `:readonly` ibaresini siliyoruz. Sonrası Ctrl + X -> y -> Enter
Operatörü yeniden başlatıyoruz:
```
docker-compose up -d
```
================================================
FILE: node taşıma.md
================================================
<h1>mangata-avs-node-tasima-</h1>
##
> cc: [ruesandora](https://github.com/ruesandora/mangata-AVS)
> Kendi node'umu taşırken size yardımcı olması için bir repo yaptım.
Başlayalım.( Önceki kurulumunuz başarılı değilse bu repo sizin için uygun değildir. )
```console
# Öncelikle eski sunucunuza bu komutları uygulayın.
cd avs-operator-setup
docker ps -a
docker stop <containerid> ( tırnakları kaldırıp aldığımız iki adet container id'i ayrı ayrı komut olarak girelim. )
# Güncelleme ve docker kurulumu, komutları sırasıyla girebilirsiniz
sudo apt update -y && sudo apt upgrade -y
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# bu komut satırını toplu girebilirsiniz
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# docker güncelleme ve run
sudo apt update -y && sudo apt upgrade -y
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
# Go kurulumu
cd $HOME
ver="1.20.2"
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version
```
EigenLayer CLI kurulumu
```console
# eigen klonlayalım
git clone https://github.com/Layr-Labs/eigenlayer-cli.git
cd eigenlayer-cli
mkdir -p build
go build -o build/eigenlayer cmd/eigenlayer/main.go
# Binary dosyamızı PATH yoluna gönderiyoruz
cd
sudo cp eigenlayer-cli/build/eigenlayer /usr/local/bin/
mkdir -p /root/.eigenlayer/operator_keys
```
<h2> Simdi burada önemli bir kısım var. Burayı dikkatli yapalım. </h2>
```console
# keylerimizi yeni sunucumuza import edelim.(parantezler olmadan)
#ecdsa key için aşağıdaki komut.
eigenlayer operator keys import --key-type ecdsa <keyname> <privatekey>
# bls key için aşağıdaki komut.
eigenlayer operator keys import --key-type bls [keyname] [privatekey]
# bu komut ile keylerimizi kontrol edelim.doğru ise devam.
eigenlayer operator keys list
# keylerimizi taşımış olduk.
```
Operator kaydı
```console
# Bu komutun istediği verileri giriyoruz, veriler aşağıda yazdım.
eigenlayer operator config create
```
> Sırasıyla bunlarıda yazıyorum kolaylık için, en aşağıda görselide olcak:
> y diyoruz
> operator adresi olarak, `ecdsa key` oluşturduğumuzda verdiği `evm` adresini girin.
> earning operator adres yine aynı ecdsa-evm adresi girin, yukarıdaki ile aynı.
> goerli eth RPC isteyecek, [infuradan](https://app.infura.io/) aldım ben ücretsiz goerli RPC
> `ecdsa key` oluşturduğumuzda bize verdiği key pathi tam şekilde giriyoruz
> aynı şekilde `bls key` path giriyoruz - path ne olduğunu bilmeyenler için görsele bakabilir
> goerli seçiyoruz ve bitiyor.
> Bu bize operator.yaml ve metadata.json dosyalarını oluşturacak..

#
```console
# Operator.yaml dosyasını nano ile açıyoruz
nano operator.yaml
```
> Burada yine değişiklik yapacağız
> `metadata_url` için `metadata.json` dosyamızın public `raw linki`
> `el_slasher_address` için: 0x3865B5F5297f86c5295c7f818BAD1fA5286b8Be6
> `bls_public_key_compendium_address` için: 0xc81d3963087Fe09316cd1E032457989C7aC91b19
> ctrl + x + y ile kaydedip çıkıyoruz.

```console
# daha önceden register ettiğimiz için tekrar etmemize gerek yok.
# Durumunu kontrol etmek için
eigenlayer operator status operator.yaml
# metadata herhangi bir değişiklik yaptığınızda güncellemek için
eigenlayer operator update operator.yaml
```
Eigen bitti şimdi Mangata AVS
```console
git clone https://github.com/mangata-finance/avs-operator-setup.git
cd avs-operator-setup
chmod +x run.sh
nano .env
```

```console
# Üst kısma dokunmuyorsunuz. SADECE: TODO yazan satırın altı bizi ilgilendiriyor.
ETH_RPC_URL= goerli eth rpc http linki
ETH_WS_URL= goerli eth wss linki
# bu linkleri infuradan almıştık, zorlanırsan rues chatten yardım talep edin.
# key yolundan kastım path, yukarıda öğrenmiştiniz.
ECDSA_KEY_FILE_HOST= eigen cli kurulumda aldığımız ecdsa key yolumuz
BLS_KEY_FILE_HOST= eigen cli kurulumda aldığımız bls key yolumuz
# yukarıda bir şifre belirlemiştik her yerde kullandığımız.
ECDSA_KEY_PASSWORD= eigen cli kurulumda belirlediğimiz karmaşık key şifresi
BLS_KEY_PASSWORD= eigen cli kurulumda belirlediğimiz karmaşık key şifresi
# ctrl + x + y yapıp kaydedip çıkıyoruz
# şimdi opt-in yapalım son hamleler..
./run.sh opt-in
# key yolunda, şifrede vs hata yoksa bu adımlardan sonra docker compose up yapıyoruz ve sona geliyoruz.
docker compose up -d
# bir sorun olup olmadığını kontrol etmek için docker ps ile container id alın
docker logs -f <container_id>
# container id başta olur ve kurduğunuz node un isminden hangi id olduğunu anlayabilirsiniz.
```
gitextract_dp4jfmdt/ ├── README.md ├── auto-restart/ │ ├── README.MD │ ├── README_en.md │ ├── requirements.txt │ └── restart_container_if_err.py ├── güncelleme.md └── node taşıma.md
Condensed preview — 7 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (23K chars).
[
{
"path": "README.md",
"chars": 8590,
"preview": "<h1 align=\"center\"> Mangata X - AVS </h1>\n\n\n## Notlar:\n\n> Selamlar, bir süredir mangata çalıştırıyorum lakin 30 kişi ile"
},
{
"path": "auto-restart/README.MD",
"chars": 2256,
"preview": "# Mangata-AVS Operatörü Otomatik Yeniden Başlatma\n\nBu komut dosyası, Mangata operatörü \"err: connection is shut down\" ha"
},
{
"path": "auto-restart/README_en.md",
"chars": 2000,
"preview": "# Mangata-AVS Operator Auto Restart\n\nThis script restarts the container if the Mangata operator raises the `err: connect"
},
{
"path": "auto-restart/requirements.txt",
"chars": 116,
"preview": "certifi==2024.2.2\ncharset-normalizer==3.3.2\ndocker==7.0.0\nidna==3.6\npackaging==23.2\nrequests==2.31.0\nurllib3==2.2.0\n"
},
{
"path": "auto-restart/restart_container_if_err.py",
"chars": 1886,
"preview": "import json\nimport docker\n\nfrom datetime import datetime\n\nclient = docker.from_env() # Connect to the local Docker daem"
},
{
"path": "güncelleme.md",
"chars": 741,
"preview": "// mevcut avs-operator-setup klasörü içindeki .env dosyasını yedek alın\n\n```\ncd avs-operator-setup\n\ndocker-compose down\n"
},
{
"path": "node taşıma.md",
"chars": 5557,
"preview": "<h1>mangata-avs-node-tasima-</h1>\n\n## \n> cc: [ruesandora](https://github.com/ruesandora/mangata-AVS)\n\n> Kendi node'umu t"
}
]
About this extraction
This page contains the full source code of the ruesandora/mangata-AVS GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 7 files (20.7 KB), approximately 6.3k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.