#!/bin/sh set -eu on_exit() { status=$? if [ "$status" -ne 0 ]; then printf 'Ошибка: скрипт завершился с кодом %s.\n' "$status" >&2 fi } trap on_exit EXIT printf '%s\n' 'Начал работу.' umask 077 run_root() { if [ "$(id -u)" -eq 0 ]; then "$@" || { status=$? printf 'Ошибка при выполнении команды: %s\n' "$*" >&2 return "$status" } else sudo "$@" || { status=$? printf 'Ошибка при выполнении через sudo: %s\n' "$*" >&2 return "$status" } fi } run_root mkdir -p /opt/remnanode run_root tee /opt/remnanode/docker-compose.yml >/dev/null <<'COMPOSE' services: remnanode: container_name: remnanode hostname: remnanode image: remnawave/node:latest network_mode: host restart: always cap_add: - NET_ADMIN ulimits: nofile: soft: 1048576 hard: 1048576 environment: - NODE_PORT=2222 - SECRET_KEY="eyJub2RlQ2VydFBlbSI6Ii0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLVxuTUlJQmd6Q0NBU21nQXdJQkFnSUhBWGt6QTBHWkFqQUtCZ2dxaGtqT1BRUURBakFnTVI0d0hBWURWUVFERXhWd1xuTVdGUmNITmljVWREUlZka2MzQkdjM2R4UlVzd0hoY05Nall4TURJNU1UazFNREU1V2hjTk1qa3hNREk1TVRrMVxuTURFNVdqQTJNVFF3TWdZRFZRUURFeXRYY1hGbVV6Vk5aemxUZVRoMlkwTklhRGxsWkhJNWEzRm9lRzFhVFVwVFxuTUhSd2J6WkhObTlVYnpaQk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXpNakc1NkxKdWhuY1xuSkpxOERQbUNVMGR4cGdIRnBkbkdTOGhRMjJ4N28wd0k1Z1A2ZHNsc2drZkpzRUpFQzJ0WGRZL1YxakpSekE5b1xuOW5PSXk5SFF2S000TURZd0RBWURWUjBUQVFIL0JBSXdBREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdGZ1lEVlIwbFxuQVFIL0JBd3dDZ1lJS3dZQkJRVUhBd0V3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnWlhhNFk1QkRKRWMzNVVvTFxuRnVVVlJnSW9oQlBFZEtOUWxCbjJUSFdzdGRFQ0lRRC9sdUpTMHAvUmlVQjNOTWVMT2JBM2QzM2dZaWF0aGRoR1xuKzVtMWhvL1pwQT09XG4tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tIiwibm9kZUtleVBlbSI6Ii0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLVxuTUlHSEFnRUFNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQkcwd2F3SUJBUVFnSHEvVlBTZUpwUXNUU0xqUlxuMUVmeDhoTko1cDZiN0o5UDkvVHdEcFkzbWhDaFJBTkNBQVRNeU1ibm9zbTZHZHdrbXJ3TStZSlRSM0dtQWNXbFxuMmNaTHlGRGJiSHVqVEFqbUEvcDJ5V3lDUjhtd1FrUUxhMWQxajlYV01sSE1EMmoyYzRqTDBkQzhcbi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0iLCJjYUNlcnRQZW0iOiItLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cbk1JSUJVakNCK0tBREFnRUNBZ0VCTUFvR0NDcUdTTTQ5QkFNQ01DQXhIakFjQmdOVkJBTVRGWEF4WVZGd2MySnhcblIwTkZWMlJ6Y0VaemQzRkZTekFlRncweU5qQTFNakl4TkRJMU16SmFGdzB6TmpBMU1qSXhOREkxTXpKYU1DQXhcbkhqQWNCZ05WQkFNVEZYQXhZVkZ3YzJKeFIwTkZWMlJ6Y0VaemQzRkZTekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdcblNNNDlBd0VIQTBJQUJHeVc4WEhoNk9jQ0hOaHR0UEJCd2liOG5EZFBhV3hvaVVuc3ZtOVJKelUvVElGMFlBNmNcbmRRTWlCdWw3TkczWnBMU3c5cGRvVlhIMzgwTlJ0UXVZNXJTakl6QWhNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdcbkRnWURWUjBQQVFIL0JBUURBZ0tFTUFvR0NDcUdTTTQ5QkFNQ0Ewa0FNRVlDSVFDKzNtRmU3Ym1TM2E3VWk5OThcblMvK2NleFBYOUsrRmFoZ3JxYTdnaE5lakNBSWhBS0ZES282d2pxK01UQjJVVHUwVFhUQU8xempEaDZQQmlLR3pcbnZsR21IVE9hXG4tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tIiwiand0UHVibGljS2V5IjoiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBa1VSK1lqSDJzMFlkT1QxdVkrL2RcblNCZ1NZRU4zbURKTGlUWlY5R2w4Qmt0cExFVFZjSnpFN1IwTkdJN202ZUNuMGM2SmtGZmZVUmtaZFRuV1RJNldcbi9qRWwwMGdmV2xzczBhWjNOTklIRDdLM25Ibkx1dE5xcERVcDFmb05jcEFQVDdreDVSUlBwSG1QRjZ1a2FNbW5cbkEzMWhCZ2VZZnF5K2VxQTZURkxWZE04QS9pWWlJVnhWSnc2RlN4YjNwVVhjY3VIVVZLUW5DWGVmTzFRbEc1di9cbjhjeWpZSWpSejEva0xHRnJkc1h1Z1VhTllWMHlFRm83dFRyNXJiREszWXNCZ2xUZW9sWmZsTFhBUklNcjRjZE5cbnEyN1NkeUNZQU5QSGNhUWUzSnFFNHBwV2tucVlNVS9UUVgraEQzQk5maFpvU0lHdlU1WFVrcG82SkxMRmkyckFcbmJ3SURBUUFCXG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS1cbiJ9" COMPOSE run_root chmod 600 /opt/remnanode/docker-compose.yml