Tropic Host

IT-Tools VPS-ზე: 86 ხელსაწყოს ინსტალაცია დეველოპერებისთვის

2 წაკითხვის წთ
Tropic
IT-Tools VPS-ზე: 86 ხელსაწყოს ინსტალაცია დეველოპერებისთვის

IT-Tools: 86 დეველოპერული ხელსაწყო ერთ VPS-ზე

გჭირდებათ JWT-ის დეკოდირება, JSON-ის YAML-ად გარდაქმნა, cron-გამოსახულების შემოწმება, subnet-ის გამოთვლა ან QR-კოდის შექმნა? ჩვეულებრივ ასეთ დროს რამდენიმე შემთხვევით ვებსაიტს ხსნით, რეკლამებს ხურავთ და მონაცემებს სათითაოდ აკოპირებთ.

IT-Tools ამ ჩანართების ერთიანი პანელით ჩანაცვლებას გთავაზობთ. სტატიის მომზადების დროს პროექტის მიმდინარე ვერსია დეველოპმენტისთვის, ადმინისტრირებისთვის, ქსელისთვის, ტექსტისა და მონაცემებისთვის განკუთვნილ 86 ხელსაწყოს შეიცავდა. ეს უცნობი საცდელი პროექტი არ არის: სტატიის მომზადების მომენტში მის GitHub-რეპოზიტორიას 40 000-ზე მეტი ვარსკვლავი ჰქონდა, ხოლო ოფიციალური Docker-იმიჯი 10 მილიონზე მეტჯერ იყო ჩამოტვირთული. სერვისი უფასო და ღია კოდია და საკუთარ სერვერზე ერთ კონტეინერში მუშაობს.

ქვემოთ განვიხილავთ, რატომ არის IT-Tools სასარგებლო, როგორი VPS სჭირდება მას და როგორ გახადოთ პანელი უსაფრთხოდ ხელმისაწვდომი საკუთარი დომენიდან.

IT-Tools ხუთ ნაბიჯად

  1. მოამზადეთ Linux VPS Docker-ით.
  2. გაუშვით IT-Tools-ის ოფიციალური კონტეინერი.
  3. შეამოწმეთ პანელი 8080 პორტზე.
  4. მიაბით ქვედომენი და ჩართეთ HTTPS reverse proxy-ის საშუალებით.
  5. შეზღუდეთ წვდომა VPN-ით, SSO-ით ან დამატებითი ავთენტიფიკაციით.

სწრაფი ტესტისთვის ერთი ბრძანებაც საკმარისია:

docker run -d \
  --name it-tools \
  --restart unless-stopped \
  -p 8080:80 \
  corentinth/it-tools:latest

გაშვების შემდეგ გახსენით http://SERVER_IP:8080.

ეს ვარიანტი ტესტირებისთვის გამოდგება, მაგრამ მუდმივი საჯარო წვდომისთვის — არა. უმჯობესია, ღია 8080 პორტი დახუროთ და აპლიკაცია HTTPS-ისა და წვდომის კონტროლის სისტემის უკან მოათავსოთ.

რა არის IT-Tools

IT-Tools წარმოადგენს მცირე ვებ-ხელსაწყოების კოლექციას დეველოპერებისა და IT-ინფრასტურასთან მომუშავე სპეციალისტებისთვის. პროექტი GNU GPLv3 ლიცენზიით ვრცელდება, ხოლო მისი საწყისი კოდი GitHub-ზეა ხელმისაწვდომი.

აპლიკაცია Vue-სა და TypeScript-ზეა აგებული. production-ვერსია ოფიციალურ კონტეინერში Nginx-ის მიერ მიწოდებული სტატიკური ინტერფეისია. მას არ სჭირდება ცალკე მონაცემთა ბაზა, Redis ან აპლიკაციის სერვერი. ამიტომ IT-Tools მცირე რესურსს მოიხმარს და პატარა VPS-ზეც კი გამოდგება.

ხელსაწყოები ათ კატეგორიად არის დაყოფილი:

ამოცანახელსაწყოების მაგალითები
კრიპტოგრაფიაtokens, UUID, ULID, hashes, HMAC, bcrypt, RSA
გარდაქმნაBase64, JSON, YAML, TOML, XML, CSV, Markdown
ვებ-დეველოპმენტიJWT Parser, URL Parser, Basic Auth, OTP, HTTP status codes
DevOpscrontab, chmod, SQL Formatter, Docker Run to Docker Compose
ქსელიIPv4 subnets and ranges, MAC addresses, IPv6 ULA
ტექსტი და მედიატექსტების შედარება, სტატისტიკა, slug-ები, QR და Wi-Fi QR კოდები

ეს ბმულების კატალოგი არ არის: თითოეული ხელსაწყო საერთო პანელში იხსნება და დაუყოვნებლივ გამოსაყენებლად მზად არის.

რატომ არის IT-Tools უფრო მოსახერხებელი, ვიდრე შემთხვევითი ონლაინ-სერვისები

ათობით ჩანართის ნაცვლად ერთი ინტერფეისი

საკმარისია შეინახოთ ერთი მისამართი, მაგალითად tools.example.com. ძიება Windows-სა და Linux-ში Ctrl + K-ით, ხოლო macOS-ში Cmd + K-ით იხსნება. ის სახელებში, აღწერებსა და კატეგორიებში ეძებს, ამიტომ საჭირო ხელსაწყოს რამდენიმე წამში იპოვით.

რჩეულები მომხმარებლის საჭიროებას ერგება

ხშირად გამოყენებული ხელსაწყოები შეგიძლიათ დაამაგროთ და სასურველი თანმიმდევრობით გადაადგილოთ. სია ბრაუზერში ლოკალურად ინახება. ცალკე ანგარიში საჭირო არ არის, თუმცა რჩეულები მოწყობილობებს შორის არ სინქრონდება და საიტის მონაცემების წაშლის შემდეგ გაქრება.

პანელი აპლიკაციად შეგიძლიათ დააყენოთ

პროექტში PWA-ს მხარდაჭერა შედის. IT-Tools შეიძლება დაამატოთ სამუშაო მაგიდაზე ან ტელეფონის მთავარ ეკრანზე და ცალკე ფანჯარაში გაუშვათ.

საკუთარი სერვერი მეტ კონტროლს გაძლევთ

საჯარო კონვერტერის გამოყენებისას უნდა ენდოთ საიტის მფლობელს, მის ანალიტიკასა და დაკავშირებულ სკრიპტებს. საკუთარი IT-Tools თქვენ მიერ არჩეულ ინფრასტრუქტურაზე მუშაობს, ხოლო სტანდარტული ინსტალაცია შეყვანილი მონაცემებისთვის სერვერზე შენახვის ცალკე სისტემას არ საჭიროებს.

თვითჰოსტინგი ყველა გენერატორს სერტიფიცირებულ უსაფრთხოების ხელსაწყოდ არ აქცევს. seed phrase-ები, პირადი გასაღებები და სხვა კრიტიკული საიდუმლოებები უმჯობესია იზოლირებულ გარემოში, სპეციალიზებული ხელსაწყოებით შექმნათ.

ხელსაწყოები, რომლებიც ყველაზე მეტ დროს ზოგავს

  • JWT Parser ტოკენის header-სა და payload-ს აჩვენებს. ეს ავთენტიფიკაციის გამართვისას სასარგებლოა, თუმცა დეკოდირება ხელმოწერის ნამდვილობას არ ამოწმებს.
  • Docker Run to Docker Compose გაშვების გრძელ ბრძანებას წაკითხვად Compose-ფაილად გარდაქმნის. გარდაქმნის შემდეგ გზები, საიდუმლოებები და ქსელები მაინც ხელით უნდა შეამოწმოთ.
  • Crontab Generator განრიგის შექმნაში გეხმარებათ და მას ადამიანისთვის გასაგებ აღწერად გარდაქმნის.
  • IPv4 Subnet Calculator აჩვენებს ნიღაბს, დიაპაზონს, broadcast-მისამართსა და ხელმისაწვდომი მისამართების რაოდენობას.
  • JSON, YAML, TOML და XML კონვერტერები გამოდგება API-ებთან, კონფიგურაციისა და deployment-ფაილებთან მუშაობისას.
  • Wi-Fi QR Code Generator ქმნის კოდს სტუმრის ან საოფისე ქსელთან დასაკავშირებლად, პაროლის ხელით შეყვანის გარეშე.

IT-Tools command line-ს, CI/CD-სა და ავტომატურ ტესტებს არ ცვლის. თუ მოქმედება ასობითჯერ უნდა გამეორდეს, უმჯობესია ის სკრიპტად აქციოთ. პანელის ძლიერი მხარეა ერთჯერადი ოპერაციების სწრაფად შესრულება და შედეგის ვიზუალური შემოწმება.

ვისთვის არის IT-Tools განკუთვნილი

დეველოპერები სწრაფად მიიღებენ JWT-ხელსაწყოებს, მონაცემთა ფორმატირების, SQL-ისა და რეგულარული გამოსახულებების ფუნქციებს. DevOps ინჟინრებს გამოადგებათ cron, chmod, ქსელური გამოთვლები და Docker-ის კონვერტერი. მცირე გუნდს შეუძლია IT-Tools საკუთარ დომენზე შიდა გვერდად გამოიყენოს, homelab-ის მფლობელისთვის კი ეს მარტივი პირველი თვითჰოსტინგური სერვისია, რომელსაც მონაცემთა ბაზა არ სჭირდება.

IT-Tools-ის სერვერული მოთხოვნები

ოფიციალური პროექტი ტექნიკის მკაცრ მოთხოვნებს არ ადგენს. ცალკე პანელისთვის, როგორც წესი, შემდეგი საწყისი კონფიგურაცია საკმარისია:

  • 1 vCPU;
  • 1 GB RAM;
  • 5–10 GB დისკზე Linux-ისთვის, იმიჯებისა და ლოგებისთვის;
  • Ubuntu, Debian ან სხვა Linux-დისტრიბუცია Docker-ით;
  • საჯარო IP-მისამართი და დომენი, თუ სერვისი ლოკალური ქსელის გარედან გჭირდებათ.

კონტეინერს ნაკლები მეხსიერებითაც შეუძლია მუშაობა, მაგრამ 1 GB ოპერაციული სისტემისთვის, SSH-ისთვის, განახლებებისა და reverse proxy-სთვის დამატებით რესურსს ტოვებს. სხვა აპლიკაციებთან ერთად ჰოსტინგისას გაითვალისწინეთ მათი ჯამური დატვირთვა.

IT-Tools-ის ინსტალაცია Docker Compose-ით

ხანგრძლივი გამოყენებისთვის Compose უფრო მოსახერხებელია, რადგან მთელი კონფიგურაცია ერთ ფაილში ინახება.

sudo mkdir -p /opt/it-tools
cd /opt/it-tools
sudo nano compose.yaml

დაამატეთ:

services:
  it-tools:
    image: corentinth/it-tools:latest
    container_name: it-tools
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:80"

გაუშვით კონტეინერი:

sudo docker compose up -d
sudo docker compose ps
curl -I http://127.0.0.1:8080

127.0.0.1-ზე მიბმა ნიშნავს, რომ პორტი მხოლოდ VPS-ის შიგნიდან არის ხელმისაწვდომი. გარე მომხმარებლები reverse proxy-ის გავლით დაუკავშირდებიან.

თუ docker compose ბრძანება მიუწვდომელია, დააყენეთ Docker Engine-ისა და Docker Compose-ის პლაგინის მიმდინარე ვერსია Docker-ის ოფიციალური რეპოზიტორიიდან. ახალი ინსტალაციისთვის მოძველებული docker-compose ბრძანება საჭირო არ არის.

როგორ მივაბათ დომენი, ჩავრთოთ HTTPS და დავიცვათ წვდომა

შექმენით DNS-ის A ჩანაწერი, რომელიც სერვერის IP-მისამართზე მიუთითებს, მაგალითად tools.example.com. შემდეგ დააკონფიგურირეთ Nginx, Caddy ან Traefik. Caddy-სთვის საკმარისია:

tools.example.com {
    reverse_proxy 127.0.0.1:8080
}

Caddy TLS-სერტიფიკატს მოითხოვს და აპლიკაციას HTTPS-ით გახდის ხელმისაწვდომს, ხოლო 8080 პორტი ინტერნეტიდან მიუწვდომელი დარჩება.

IT-Tools-ის სტანდარტული დისტრიბუცია მომხმარებლებისა და როლების სრულ სისტემას არ შეიცავს. შიდა პანელისთვის დაამატეთ დაცვის ერთ-ერთი მეთოდი:

  • WireGuard, Tailscale ან სხვა VPN;
  • ავთენტიფიკაცია reverse proxy-ზე;
  • SSO Authelia-ს, Authentik-ის ან კორპორაციული identity provider-ის საშუალებით;
  • წვდომის შეზღუდვა IP-მისამართებით.

„საიდუმლო“ ქვედომენი უსაფრთხოების ზომა არ არის: მისი აღმოჩენა შესაძლებელია certificate transparency-ის ლოგებით ან DNS-სკანირებით.

განახლებები და სარეზერვო ასლები

cd /opt/it-tools
sudo docker compose pull
sudo docker compose up -d
sudo docker image prune -f

latest ტეგი სახლის ინსტალაციისთვის მოსახერხებელია, მაგრამ სტაბილურ გარემოში უმჯობესია დატესტილი image tag ან digest დააფიქსიროთ. საწყისი კოდის რეპოზიტორია შესაძლოა სტაბილურ კონტეინერზე სწრაფად იცვლებოდეს: უფრო ახალი nightly build მხოლოდ ტესტირების შემდეგ გამოიყენეთ.

რთული backup საჭირო არ არის, რადგან სერვერზე მონაცემთა ბაზა არ არსებობს. შეინახეთ compose.yaml, reverse proxy-ის კონფიგურაცია და წვდომის პარამეტრები. რჩეულები ბრაუზერში ინახება და სერვერის backup-ში არ მოხვდება.

IT-Tools tropic.host-ის VPS-ზე

IT-Tools კარგი არჩევანია VPS-ზე პირველი თვითჰოსტინგური სერვისისთვის: ის ერთ კონტეინერში მუშაობს, მონაცემთა ბაზას არ საჭიროებს და თითქმის არ ქმნის უწყვეტ დატვირთვას. პანელი ცალკე ქვედომენზე შეგიძლიათ განათავსოთ, HTTPS-ით დაიცვათ და მხოლოდ VPN-ის ან ავთენტიფიკაციის საშუალებით გახადოთ ხელმისაწვდომი.

ამ ამოცანისთვის tropic.host-ის საბაზისო Linux VPS გამოდგება. შეგიძლიათ დაიწყოთ მცირე კონფიგურაციით და მოგვიანებით იმავე სერვერზე სხვა მსუბუქი Docker-აპლიკაციებიც განათავსოთ, თუ მეხსიერება და დისკზე ადგილი საკმარისი იქნება. ყველაზე მნიშვნელოვანია სტაბილური ქსელი, რეგულარული განახლებები და სწორად კონფიგურირებული წვდომა.

დასკვნა

IT-Tools ათობით მცირე ტექნიკურ ამოცანას ერთ ნათელ პანელში აერთიანებს. მასში შედის კონვერტერები, გენერატორები, ქსელური კალკულატორები და JWT-ის, Docker-ის, cron-ის, SQL-ის, ტექსტისა და QR-კოდებისთვის განკუთვნილი ხელსაწყოები.

მის გასაშვებად პატარა VPS და Docker საკმარისია. საჯარო ინსტალაცია HTTPS-ის უკან უნდა მოათავსოთ და VPN-ით, SSO-ით ან დამატებითი ავთენტიფიკაციით დაიცვათ.

FAQ

IT-Tools უფასოა?

დიახ. პროექტი ღია კოდია და GNU GPLv3 ლიცენზიით ვრცელდება. მისი საკუთარ სერვერზე უფასოდ გაშვება შეგიძლიათ.

რამდენი ხელსაწყოა IT-Tools-ში?

პროექტის მიმდინარე რეესტრში ათ კატეგორიად დაყოფილი 86 ხელსაწყოა. სია კვლავ ვითარდება, ამიტომ მომავალ ვერსიებში რაოდენობა შეიძლება შეიცვალოს.

IT-Tools შეყვანილ მონაცემებს სერვერზე აგზავნის?

თვითჰოსტინგური ვერსია არის სტატიკური client-side აპლიკაცია ცალკე მონაცემთა ბაზის გარეშე. დამუშავების უმეტესობა ბრაუზერში სრულდება. უსაფრთხოება მაინც დამოკიდებულია სერვერზე, Docker-იმიჯზე, ბრაუზერზე, გაფართოებებსა და წვდომის პარამეტრებზე.

როგორი VPS სჭირდება IT-Tools-ს?

ცალკე პანელისთვის, როგორც წესი, საკმარისია 1 vCPU, 1 GB RAM და რამდენიმე გიგაბაიტი დისკზე. ეს პრაქტიკული რეკომენდაციაა Linux-ის, Docker-ისა და reverse proxy-სთვის დამატებითი რესურსის გათვალისწინებით და არა ოფიციალური მოთხოვნა.

შეიძლება IT-Tools მთელი გუნდისთვის გავხადოთ ხელმისაწვდომი?

დიახ. განათავსეთ სერვისი ცალკე დომენზე, ჩართეთ HTTPS და წვდომა VPN-ით, SSO-ით, Basic Auth-ით ან IP-მისამართების allowlist-ით შეზღუდეთ.