# Wymagania systemowe

> Na czym działa D-LIS Light i czego potrzebuje serwer, żeby postawić serwis.

Adres: https://dlis-shop.pl/wymagania-systemowe/

Instalacja z konsoli jednym poleceniem install.sh

-

          serwer — bash

               $  sudo ./install.sh

               → Sprawdzam serwer: Python 3.14, pakiety

               → Baza danych: PostgreSQL · tabele gotowe

               → Konto właściciela: utworzone

               → Klucz instalacji zapisany

               ✓ Gotowe. Serwis działa:
                https://twojastrona.pl

              $

            install.sh sam rozpoznaje system

               Debian, Ubuntu`apt`

-

               Fedora, RHEL, Rocky`dnf`

-

               Arch Linux`pacman`

-

               Alpine`apk`

-

               openSUSE`zypper`

-

               FreeBSD`pkg`

          Brakujące pakiety systemu doinstaluje sam. Na hostingu bez dostępu root ten krok po prostu pomija.

        Pod maską

## Sprawdzone technologie, zero egzotyki

        D-LIS Light stoi na narzędziach, które znają tysiące programistów. Gdy kiedyś zechcesz coś dobudować, nie zostaniesz z kodem, którego nikt nie rozumie.

              Python 3.14 i Django 6
            Dojrzały framework, na którym działają duże serwisy na całym świecie.

              SQLite, MySQL, PostgreSQL
            Mała strona ruszy na jednym pliku bazy, większa przejdzie na serwer bazy danych.

              Tailwind CSS
            Lekki wygląd bez ciężkich motywów. Kolory i kroje pisma ustawiasz w panelu.

              Ponad 1000 testów
            Każda wersja przechodzi komplet testów automatycznych, zanim trafi do aktualizacji.

              Aktualizacje z opisem
            Panel sprawdza, czy wyszła nowa wersja, i pokazuje, co się w niej zmieniło.

              Linux i FreeBSD
            Skrypt install.sh przygotowuje serwer i stawia serwis jednym poleceniem.

          Minimalne wersje

### Tyle wystarczy, żeby ruszyć

        Pythona i SQLite instalator sprawdza sam, zanim cokolwiek zapisze. Minimum serwera bazy pokazuje przy jej wyborze, żeby za stara wersja nie wyszła dopiero przy pierwszym połączeniu.

          Python

            3.12+

            Z modułami venv i pip. CMS pracuje we własnym środowisku `.venv`.

          SQLite

            3.37+

            Liczy się biblioteka systemu, nie pakiet z pip-a. Baza pracuje w trybie WAL.

          MySQL / MariaDB

            8.4+ /  10.11+

            Sterownik mysqlclient, a gdy go nie ma – PyMySQL, który wchodzi na każdy hosting.

          PostgreSQL

            15+

            Sterownik psycopg 3 albo psycopg2. Na FreeBSD najprościej z pakietów systemu.

        Serwer

## Czego potrzebuje serwer

      Wystarczy zwykły serwer albo hosting z obsługą Pythona. Żadnych usług w chmurze, płatnych licencji ani zewnętrznych kont.

-

            Python3.12 lub nowszy
            Z modułami venv i pip – to na nim działa cały CMS.

-

            Serwer WWWnginx albo inny
            Przyjmuje ruch po HTTPS i sam wydaje pliki statyczne oraz zdjęcia.

-

            Serwer aplikacjigunicorn, uWSGI, Passenger
            Uruchamia CMS w tle; na własnym serwerze pilnuje go systemd.

-

            Certyfikat HTTPSLet’s Encrypt, bezpłatny
            Jedno polecenie certbota i certyfikat odnawia się sam.

-

            Baza danychserwer bazy opcjonalnie
            Na SQLite cała baza to jeden plik. Serwer bazy potrzebny jest tylko przy MySQL-u albo PostgreSQL-u.

         Tylko pięć bibliotek Pythona. Django, Pillow, cryptography, segno i python-dotenv – tyle CMS ściąga z requirements.txt. Mniej zależności to mniej rzeczy, które mogą się zepsuć przy aktualizacji.

          Droga zapytania: przeglądarka, nginx, serwer aplikacji, D-LIS Light, baza danych

-

          Przeglądarka
          odwiedzający albo redaktor w panelu

          nginx
          HTTPS · przekierowanie z http

          /static/ /media/
          wprost z dysku

          gunicorn
          albo uWSGI, Passenger · gniazdo uniksowe

          D-LIS Light
          Django 6.1 · Python 3.12+

          Baza danych
          SQLite · MySQL / MariaDB · PostgreSQL

          zapytanie

          odpowiedź

      Baza danych

## Trzy silniki do wyboru, jeden panel

      Wybierasz w kreatorze instalacji. Treść, wygląd i panel działają tak samo bez względu na to, gdzie leżą dane.

        Najprostszy start

### SQLite

        Cała baza w jednym pliku
        Nie wymaga serwera bazy ani logowania. Wystarcza serwisom na jednym serwerze, w których pisze kilku redaktorów.

           Minimum SQLite 3.37
           Sterownik wbudowany w Pythona
           Kopie zapasowe z panelu, jednym kliknięciem

### MySQL / MariaDB

        Najczęstsza baza na hostingu
        Dane logowania znajdziesz w panelu hostingu, przy założonej wcześniej bazie. Kreator sam doinstaluje sterownik.

           Minimum MySQL 8.4, MariaDB 10.11
           Sterownik mysqlclient albo PyMySQL
           Kopie zapasowe mysqldump z konsoli

### PostgreSQL

        Dla większych serwisów
        Gdy serwis rośnie albo stoi na własnym serwerze. Na Linuksie sterownik schodzi gotowy w kilka sekund.

           Minimum PostgreSQL 15
           Sterownik psycopg 3 albo psycopg2
           Kopie zapasowe pg_dump z konsoli

        Przy MySQL-u i PostgreSQL-u załóż bazę przed instalacją
        Kreator zakłada w niej tabele, ale samej bazy nie tworzy – i to celowo. Konto, które może zakładać bazy, ma na serwerze prawa do wszystkiego, a takie hasło nie powinno leżeć w pliku czytanym przy każdym starcie serwisu. Utwórz bazę i osobnego użytkownika w panelu hostingu, a ich dane wpisz w kreatorze.

      Instalacja

## Dwie drogi, ten sam wynik

      Masz własny serwer – użyj konsoli. Masz hosting z panelem – otwórz kreator w przeglądarce. Obie drogi sprawdzają i zapisują dokładnie to samo.

### Z konsoli: `./install.sh`

            Własny serwer z dostępem root

             Rozpoznaje system i doinstalowuje brakujące pakiety.

-   Zakłada środowisko `.venv` i instaluje biblioteki.

-   Pyta o bazę, domenę i konto właściciela.

-   Z `--sprawdz` tylko pokazuje plan i niczego nie zmienia.

### W przeglądarce: `/install/`

            Hosting z obsługą aplikacji Pythona

-   Sprawdza wersję Pythona, SQLite i prawa do plików.

-   Podpowiada polecenia właściwe dla Twojego systemu.

-   Doinstalowuje sterownik wybranej bazy na żądanie.

-   Prowadzi krok po kroku, bez jednego polecenia w konsoli.

        Po instalacji serwis ma od razu

-   tabele w wybranej bazie

-   konto właściciela do panelu

-   plik `.env` z ustawieniami serwera

-   klucz instalacji, który szyfruje hasła w bazie

      Instalacja jest jednorazowa. Ponowne uruchomienie nie nadpisze konta właściciela ani domen działającego serwisu.

        Tarcza ochrony serwisu

        Bezpieczeństwo

## Ochrona włączona od pierwszego dnia

      W trybie produkcyjnym zabezpieczenia włączają się same. Nie trzeba niczego dopisywać w konfiguracji serwera ani szukać wtyczek.

          Wymuszone HTTPS
          Przekierowanie z http, nagłówek HSTS i ciasteczka wysyłane tylko szyfrowanym kanałem.

          Polityka skryptów (CSP)
          Obcy skrypt wstrzyknięty w treść albo plik SVG nie uruchomi się w przeglądarce.

          Zaszyfrowane hasła usług
          Hasło do poczty w bazie szyfruje klucz instalacji. Sama kopia bazy go nie zdradzi.

          Logowanie dwuetapowe
          Do panelu można wejść z kodem z aplikacji w telefonie, a nie samym hasłem.

          Nagłówki bezpieczeństwa w standardzie

            `Strict-Transport-Security`
            `Content-Security-Policy`
            `X-Frame-Options: DENY`
            `nosniff`
            `Referrer-Policy`
            `Permissions-Policy`

## Nie wiesz, czy Twój serwer wystarczy?

    Napisz, jaki masz hosting albo serwer. Podpowiemy, którą drogą instalacji pójść i którą bazę wybrać.

      [Napisz do nas
        →](/kontakt/)
      [Pobierz D-LIS Light](/pobierz/)
