Airbnb Clone - Pipeline DevOps 📋 Opis projektu Ten projekt zawiera kompletny zestaw narzędzi i konfiguracji do uruchomienia zautomatyzowanego pipeline’u CI/CD dla aplikacji React (klon Airbnb). Wykorzystuje architekturę opartą na AWS z serwerami Jenkins, bazą danych MySQL oraz systemem monitorowania Prometheus/Grafana. 🏗️ Architektura projektu Projekt składa się z następujących komponentów: Aplikacja React: Klon Airbnb zbudowany w React Pipeline CI/CD: Automatyzacja procesu budowy, testów i wdrażania Infrastruktura: Skrypty Ansible do konfiguracji serwerów Konteneryzacja: Dockerfile i Docker Compose Monitoring: System Prometheus, Grafana i SmokePing Bezpieczeństwo: Skanowanie Trivy i analiza kodu SonarQube Infrastruktura AWS Projekt wymaga następującej infrastruktury AWS: ...
Automonitoring serwera Linux - prosty projekt bash
Automonitoring serwera Linux - prosty projekt bash 📋 Opis projektu Ten projekt zawiera skrypt bash do monitorowania podstawowych zasobów serwera Linux (CPU, pamięć RAM, przestrzeń dyskowa) oraz wysyłania powiadomień e-mail w przypadku przekroczenia zdefiniowanych progów. To świetne narzędzie dla administratorów serwerów oraz entuzjastów Linuksa, którzy chcą mieć pod kontrolą wydajność swoich systemów. 🎯 Cele projektu Monitoring podstawowych zasobów: Śledzenie wykorzystania CPU, pamięci RAM i przestrzeni dyskowej Automatyczne powiadomienia: Wysyłanie alertów e-mail w przypadku przekroczenia progów Prostota wdrożenia: Łatwy w implementacji skrypt bash bez dodatkowych zależności Możliwość rozbudowy: Modułowa struktura umożliwiająca łatwe rozszerzanie funkcjonalności 💻 Wymagania Serwer Linux (testowano na Ubuntu, Debian, CentOS) Bash (dostępny domyślnie w większości dystrybucji Linux) Dostęp do polecenia mail (lub podobnego) do wysyłania e-maili Podstawowa znajomość edytorów tekstu (nano, vim, itp.) Uprawnienia do ustawiania zadań cron 📝 Implementacja Krok 1: Tworzenie skryptu monitorującego Utwórz plik system_monitor.sh i otwórz go w edytorze: ...
Don't Buy This Token
Don’t Buy This Token - Projekt edukacyjny na Solanie 📋 Przegląd projektu “Don’t Buy This Token” to projekt edukacyjny mający na celu stworzenie i wdrożenie własnego tokena na blockchainie Solana. Celem tego projektu jest zdobycie praktycznego doświadczenia w zakresie rozwoju blockchain, Dockera, Rusta i Solana CLI, jednocześnie tworząc funkcjonalny token, który może zostać wdrożony na mainnecie Solany. 🎯 Cele Stworzenie tokena na devnecie Solany: Wykorzystanie testowego środowiska Solany do zaprojektowania i wdrożenia tokena. Wdrożenie tokena na mainnecie: Wydanie około 20$ na opublikowanie tokena na mainnecie Solany. Dokumentacja procesu: Dostarczenie jasnych instrukcji i spostrzeżeń dla innych zainteresowanych tworzeniem tokenów. Rozwój projektu portfolio: Zaprezentowanie umiejętności w zakresie rozwoju blockchain i nowoczesnych technologii. 🛠️ Kluczowe funkcje Tworzenie tokenów: Generowanie tokena na devnecie i mainnecie Solany. Integracja metadanych: Dodawanie metadanych, takich jak nazwa tokena, symbol i ikona. Zdecentralizowane hostowanie: Wykorzystanie zdecentralizowanego przechowywania zasobów tokena (np. Pinata/IPFS). Ukierunkowanie na naukę: Priorytetowe zrozumienie technologii blockchain i narzędzi. 💻 Wykorzystane technologie Blockchain Solana: Platforma do tworzenia i zarządzania tokenem. Docker: Konteneryzacja środowiska deweloperskiego dla zwiększenia przenośności. Rust: Wykorzystanie Rusta do pracy z Solana CLI. Pinata/IPFS: Hostowanie metadanych i zasobów tokena. 📝 Kroki do wykonania 1. Konfiguracja środowiska Instalacja Dockera. Konfiguracja kontenera z Solana CLI i Rustem. 2. Tworzenie tokena na devnecie Generowanie kont dla uprawnienia do emisji i portfela. Tworzenie i konfiguracja tokena na devnecie. Przesyłanie metadanych do zdecentralizowanego przechowywania. 3. Wdrożenie tokena na mainnecie Pozyskanie SOL do wdrożenia na mainnecie. Powtórzenie procesu tworzenia tokena na mainnecie. 4. Dokumentacja i publikacja Utworzenie repozytorium GitHub ze szczegółowymi instrukcjami. Udostępnianie spostrzeżeń i zdobytych doświadczeń. 🤔 Dlaczego “Don’t Buy This Token”? Nazwa podkreśla eksperymentalny charakter projektu i służy jako żartobliwe przypomnienie o wielu projektach tokenów, które nie przynoszą oczekiwanych rezultatów. Ten projekt ma być doświadczeniem edukacyjnym, a nie przedsięwzięciem spekulacyjnym. ...
Własny VPN z WireGuard na VPS (Ubuntu)
🛡️ Własny VPN z WireGuard na VPS (Ubuntu) Bezpieczny tunel sieciowy z nowoczesnym WireGuardem – szybka i lekka alternatywa dla OpenVPN. Pokażę Ci krok po kroku, jak postawić własny VPN i połączyć się z telefonu. 📋 Wymagania VPS z Ubuntu 20.04/22.04 Uprawnienia sudo (Opcjonalnie) domena – ułatwia konfigurację klienta 🔧 Instalacja WireGuard sudo apt update sudo apt install wireguard qrencode 🔑 Tworzenie kluczy serwera cd /etc/wireguard umask 077 wg genkey | tee server.key | wg pubkey > server.pub ⚙️ Konfiguracja serwera (/etc/wireguard/wg0.conf) [Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = <zawartość server.key> SaveConfig = true PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE 🔥 Włączenie przekierowywania ruchu echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p 🟢 Uruchomienie WireGuard sudo systemctl start wg-quick@wg0 sudo systemctl enable wg-quick@wg0 📱 Dodanie klienta (np. telefon z Android/iOS) 1. Wygeneruj klucze klienta: wg genkey | tee client.key | wg pubkey > client.pub 2. Stwórz plik client.conf: [Interface] PrivateKey = <zawartość client.key> Address = 10.0.0.2/32 DNS = 1.1.1.1 [Peer] PublicKey = <zawartość server.pub> Endpoint = twoja.domena.com:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25 3. Dodaj klienta do serwera: sudo wg set wg0 peer $(<client.pub) allowed-ips 10.0.0.2 4. Wygeneruj QR kod do zeskanowania: qrencode -t ansiutf8 < client.conf ♻️ Bonus: Automatyczne odnawianie kluczy klienta Skrypt /usr/local/bin/renew-wg-keys.sh: #!/bin/bash cd /etc/wireguard umask 077 # Nowe klucze wg genkey | tee client.key | wg pubkey > client.pub # Update klienta w WireGuardzie wg set wg0 peer $(<client.pub) allowed-ips 10.0.0.2 systemctl restart wg-quick@wg0 Cron (co miesiąc): (crontab -l ; echo "@monthly /usr/local/bin/renew-wg-keys.sh") | crontab - ✅ Gotowe! Masz teraz w pełni działający, szybki i bezpieczny VPN z WireGuardem! Możesz dodać więcej klientów (np. laptopa z Linuxem/Windows), korzystając z podobnego schematu. ...
Kubernetes Setup: Ollama + OpenWebUI + DeepSeek-R1
Kubernetes Setup: Ollama + OpenWebUI + DeepSeek-R1 Opis projektu Ten projekt przedstawia wdrożenie Ollamy, OpenWebUI i modelu DeepSeek-R1 na klastrze Kubernetes. Jest to kompletne rozwiązanie umożliwiające uruchomienie własnego środowiska AI z interfejsem webowym. Wykorzystane narzędzia Kubernetes Devbox Taskfile Docker Architektura rozwiązania Projekt składa się z trzech głównych komponentów: Ollama – backend AI obsługujący modele językowe OpenWebUI – przyjazny interfejs użytkownika do interakcji z modelami DeepSeek-R1 – model językowy zoptymalizowany pod kątem wydajności Struktura projektu . ├── manifests/ │ ├── Ingress.yaml │ ├── Namespace.yaml │ ├── Ollama.yaml │ ├── OllamaService.yaml │ ├── OpenWebUI.yaml │ ├── Service.yaml │ └── Volume.yaml ├── scripts/ ├── devbox.json ├── devbox.lock ├── README.md └── Taskfile.yaml Instrukcja instalacji Wymagania wstępne Przed rozpoczęciem instalacji upewnij się, że masz zainstalowane niezbędne komponenty: ...
Instalacja Apache Tomcat
Instalacja i konfiguracja Apache Tomcat na Ubuntu Ten przewodnik opisuje kroki niezbędne do instalacji i konfiguracji Apache Tomcat na Ubuntu z Java 17, skonfigurowania go jako usługi systemowej oraz włączenia HTTPS z certyfikatem self-signed. 1. Instalacja Java 17 Aktualizacja menedżera pakietów i instalacja Java 17: sudo apt update sudo apt install openjdk-17-jdk -y Weryfikacja instalacji Java: java -version Konfiguracja domyślnej wersji Java (jeśli zainstalowanych jest wiele wersji): sudo update-alternatives --config java Ustawienie zmiennej środowiskowej JAVA_HOME: ...
Instalacja Gitlab
Instrukcja instalacji GitLab CE na Ubuntu/Debian Wprowadzenie Ten przewodnik przeprowadzi Cię przez proces instalacji GitLab Community Edition (CE) na serwerze Ubuntu/Debian. GitLab CE to darmowa, samodzielnie hostowana platforma do zarządzania kodem źródłowym i projektami. Wymagania systemowe Przed rozpoczęciem instalacji upewnij się, że Twój serwer spełnia następujące wymagania: Ubuntu 20.04 lub nowszy / Debian 10 lub nowszy Minimum 4 GB RAM (zalecane 8 GB) Minimum 10 GB wolnego miejsca na dysku Dostęp root lub użytkownik z uprawnieniami sudo Skonfigurowany adres IP (publiczny lub prywatny) Instrukcja krok po kroku 1. Aktualizacja systemu Najpierw zaktualizuj system operacyjny: ...
Instalacja WildFly (JBoss)
Instalacja i konfiguracja WildFly (JBoss) na Ubuntu Ten przewodnik opisuje proces instalacji i konfiguracji serwera WildFly (dawniej JBoss) na Ubuntu, w tym zmianę domyślnych portów, utworzenie użytkownika administratora oraz skonfigurowanie go jako usługi systemowej. 1. Pobranie i rozpakowanie WildFly Pobranie WildFly: wget https://github.com/wildfly/wildfly/releases/download/35.0.0.Final/wildfly-35.0.0.Final.tar.gz Rozpakowanie pobranego archiwum: tar -xvzf wildfly-35.0.0.Final.tar.gz Przeniesienie WildFly do /opt/jboss: sudo mv wildfly-35.0.0.Final /opt/jboss Ustawienie uprawnień do katalogu WildFly: sudo chown -R $USER:$USER /opt/jboss 2. Zmiana domyślnych portów Edycja pliku konfiguracyjnego WildFly: nano /opt/jboss/standalone/configuration/standalone.xml Zmiana portu HTTP na 8181: <socket-binding name="http" port="${jboss.http.port:8181}"/> Zmiana portu HTTPS na 8543: <socket-binding name="https" port="${jboss.https.port:8543}"/> Zapisz i zamknij plik (CTRL + O, następnie CTRL + X). 3. Uruchomienie WildFly Przejście do katalogu bin WildFly: cd /opt/jboss/bin Uruchomienie serwera w trybie standalone: ./standalone.sh Weryfikacja w przeglądarce: http://twoj-adres-ip:8181 4. Utworzenie użytkownika administratora Uruchomienie skryptu do tworzenia użytkowników: /opt/jboss/bin/add-user.sh Postępuj zgodnie z instrukcjami, aby utworzyć użytkownika z rolą ManagementRealm. 5. Konfiguracja WildFly jako usługi systemowej Utworzenie pliku usługi systemd: sudo nano /etc/systemd/system/jboss.service Dodanie następującej konfiguracji: [Unit] Description=WildFly Application Server After=network.target [Service] User=twoja-nazwa-uzytkownika Group=twoja-nazwa-uzytkownika ExecStart=/opt/jboss/bin/standalone.sh -b 0.0.0.0 ExecStop=/opt/jboss/bin/jboss-cli.sh --connect command=:shutdown Restart=always [Install] WantedBy=multi-user.target Zapisz i zamknij plik (CTRL + O, następnie CTRL + X). Przeładowanie systemd i włączenie usługi: sudo systemctl daemon-reload sudo systemctl enable jboss Uruchomienie usługi WildFly: sudo systemctl start jboss Sprawdzenie statusu usługi: sudo systemctl status jboss 6. Rozwiązywanie problemów Sprawdzanie logów: tail -f /opt/jboss/standalone/log/server.log Sprawdzanie statusu portów: netstat -tulpn | grep LISTEN Sprawdzanie firewalla: sudo ufw status 7. Wskazówki bezpieczeństwa Zmień domyślne hasła dla wszystkich kont administratora Ogranicz dostęp do konsoli administracyjnej poprzez firewall Regularnie aktualizuj WildFly do najnowszej wersji Używaj HTTPS dla konsoli administracyjnej Skonfiguruj odpowiednie uprawnienia dla plików i katalogów 8. Dodatkowe komendy Zatrzymanie WildFly: sudo systemctl stop jboss Restart WildFly: sudo systemctl restart jboss Sprawdzenie wersji WildFly: /opt/jboss/bin/standalone.sh -v WildFly (JBoss) jest teraz zainstalowany, skonfigurowany i uruchomiony jako usługa systemowa. Możesz uzyskać dostęp do serwera przez zaktualizowane porty HTTP lub HTTPS. ...
SElinux-Wprowadzenie
SELinux - Kompleksowy przewodnik Spis treści Wprowadzenie do SELinux Architektura SELinux Tryby pracy Konteksty bezpieczeństwa Polityki SELinux Podstawowe komendy Booleany Rozwiązywanie problemów Najlepsze praktyki Wprowadzenie do SELinux Security-Enhanced Linux (SELinux) to zaawansowany system kontroli dostępu (MAC - Mandatory Access Control) zaimplementowany w jądrze Linux. Został pierwotnie opracowany przez NSA i później zintegrowany z wieloma dystrybucjami Linux. Główne cechy: Kontrola dostępu na poziomie jądra systemu Szczegółowa polityka bezpieczeństwa Ochrona przed eskalacją uprawnień Izolacja procesów i usług Minimalizacja potencjalnych zagrożeń Architektura SELinux SELinux działa na zasadzie etykietowania (labeling) wszystkich obiektów w systemie i kontrolowania dostępu między nimi na podstawie zdefiniowanych reguł. ...
Wazuh
Instalacja Wazuh - kompletny przewodnik dla początkujących Cześć! W dzisiejszym wpisie przeprowadzę Cię przez proces instalacji Wazuh - potężnego narzędzia do monitorowania bezpieczeństwa. Niezależnie od tego, czy zabezpieczasz małą firmę czy własne projekty, Wazuh może znacząco poprawić Twoje bezpieczeństwo IT. Co to jest Wazuh? Wazuh to wszechstronne narzędzie open-source, które łączy w sobie: Monitoring bezpieczeństwa w czasie rzeczywistym Wykrywanie włamań Monitorowanie integralności plików Reagowanie na zagrożenia Zgodność z przepisami (GDPR, PCI DSS) Wymagania systemowe Zanim zaczniemy, upewnij się, że Twój serwer spełnia minimalne wymagania: ...