You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*Schemat architektury systemu coBoarding – mikroserwisy, komunikacja przez Docker, web UI*
5
+
3
6
coBoarding to kompleksowy, kontenerowy system do automatycznego wypełniania formularzy rekrutacyjnych, kładący nacisk na prywatność, elastyczność oraz wsparcie wielojęzyczne.
4
7
5
-
## Główne cechy
6
-
- Architektura oparta na Docker (moduły: browser-service, llm-orchestrator, novnc, web-interface)
7
-
- 100% lokalne przetwarzanie danych (prywatność)
8
-
- Wykrywanie sprzętu (GPU/CPU, RAM) i automatyczny dobór modelu LLM
9
-
- Wielojęzyczność (PL, DE, EN) z automatyczną detekcją
10
-
- Nowoczesny web UI z HTTPS i sterowaniem głosowym
11
-
- Automatyczna generacja pipelines dla portali pracy
12
-
- Wizualizacja procesu przez noVNC
13
-
- Integracja z menedżerami haseł (Bitwarden, PassBolt)
14
-
- Kompletne środowisko testowe
15
-
16
-
## 📚 Spis treści / Menu
17
-
-[Szybki start](#szybki-start)
18
-
-[Instalacja środowiska (Python 3.11+ / 3.12 na Ubuntu 24.10+)](#instalacja-środowiska-python-311--312-na-ubuntu-2410)
bash install.sh # automatyczna instalacja zależności i Docker Compose v2
31
22
bash run.sh # lub ./run.ps1 na Windows
32
23
```
@@ -35,133 +26,47 @@ Pierwsze uruchomienie automatycznie skonfiguruje środowisko (venv, zależności
35
26
36
27
> **WAŻNE:** Projekt wymaga Docker Compose v2 (polecenie `docker compose`). Skrypt `install.sh` instaluje go automatycznie jako plugin CLI.
37
28
38
-
## Cache pip w Docker
39
-
40
-
Wszystkie kontenery pythonowe korzystają z cache pip zamontowanego jako volume:
41
-
42
-
```yaml
43
-
volumes:
44
-
- ~/.cache/pip:/root/.cache/pip
45
-
```
46
-
47
-
Dzięki temu, podczas budowania obrazu, pip używa lokalnego cache i nie pobiera ponownie tych samych pakietów z internetu, co znacząco przyspiesza development oraz CI/CD.
48
-
49
-
> **Uwaga:** Flaga `--no-cache-dir` NIE jest używana w poleceniach pip w Dockerfile – cache jest zawsze wykorzystywany.
50
-
51
-
**Czyszczenie cache pip lokalnie:**
52
-
53
-
Jeśli chcesz wyczyścić lokalny cache pip (np. w przypadku problemów z zależnościami lub braku miejsca na dysku):
54
-
55
-
```bash
56
-
rm -rf ~/.cache/pip
57
-
```
58
-
59
-
Cache zostanie odbudowany automatycznie przy następnym budowaniu obrazu.
Każdy katalog z Dockerfile powinien zawierać plik `.dockerignore`, który określa, jakie pliki i katalogi nie powinny być kopiowane do kontekstu budowy obrazu.
64
-
65
-
Przykładowa zawartość `.dockerignore`:
66
-
```
67
-
.git
68
-
__pycache__
69
-
*.pyc
70
-
*.pyo
71
-
*.pyd
72
-
*.db
73
-
*.sqlite3
74
-
*.log
75
-
*.md
76
-
tests/
77
-
test-examples/
78
-
data/
79
-
model-configs/
80
-
node_modules/
81
-
.env
82
-
*.egg-info
83
-
```
84
-
85
-
**Dlaczego to ważne?**
86
-
- Szybszy build (Docker nie kopiuje niepotrzebnych plików)
87
-
- Mniejszy rozmiar obrazu
88
-
- Efektywniejsze cache warstw
89
-
90
-
**Instrukcja:**
91
-
- Jeśli dodajesz nowy katalog z Dockerfile, skopiuj powyższy `.dockerignore` lub dostosuj go do swoich potrzeb.
92
-
- Możesz edytować istniejący `.dockerignore`, aby ignorować dodatkowe pliki specyficzne dla danego serwisu.
93
-
94
-
## Testowanie poprawności plików deklaratywnych
95
-
96
-
W repozytorium znajduje się skrypt:
29
+
---
97
30
98
-
```bash
99
-
./test-declarative.sh
100
-
```
101
-
102
-
Sprawdza on poprawność wszystkich plików YAML/YML, Dockerfile (lint/hadolint) oraz JSON w projekcie. Zalecane uruchamianie przed commitem większych zmian w konfiguracji.
103
-
104
-
## Testowanie usług i E2E
105
-
106
-
### Testowanie pojedynczych serwisów Docker
107
-
108
-
Każdy serwis możesz przetestować osobno w izolowanym środowisku:
109
-
110
-
```bash
111
-
bash containers/test-service.sh <nazwa-serwisu>
112
-
```
113
-
Np. dla llm-orchestrator:
114
-
```bash
115
-
bash containers/test-service.sh llm-orchestrator
116
-
```
117
-
118
-
Wymagane są pliki `docker-compose.<service>.yml` (generowane automatycznie dla głównych usług). Skrypt:
119
-
- Buduje i uruchamia środowisko tylko dla wybranego serwisu
120
-
- Sprawdza, czy kontener działa
121
-
- (Opcjonalnie) wykonuje healthcheck HTTP
122
-
- Wyświetla logi i zatrzymuje środowisko
123
-
124
-
### Automatyczne testy wszystkich usług
125
-
126
-
Aby przetestować wszystkie główne serwisy po kolei (z Ansible healthcheck):
127
-
128
-
```bash
129
-
bash dev.sh
130
-
```
31
+
## Jak to działa
131
32
132
-
Skrypt:
133
-
- Uruchamia test-service.sh dla każdego serwisu
134
-
- Po każdym teście uruchamia testy E2E Ansible dla danego endpointu
135
-
- Zatrzymuje środowisko po każdym teście
33
+
coBoarding automatyzuje proces aplikowania na portale pracy:
- Skrypt `dev.sh` testuje cały zestaw usług po kolei i uruchamia testy Ansible
62
+
## 📚 Spis treści / Menu
63
+
-[Szybki start](#szybki-start)
64
+
-[Instalacja środowiska (Python 3.11+ / 3.12 na Ubuntu 24.10+)](#instalacja-środowiska-python-311--312-na-ubuntu-2410)
65
+
-[Struktura kontenerów](#struktura-kontenerów)
66
+
-[Weryfikacja wdrożenia](#weryfikacja-wdrożenia)
67
+
-[Scenariusze testowe](#scenariusze-testowe)
68
+
-[FAQ](#faq)
69
+
-[Kontakt i wsparcie](#kontakt-i-wsparcie)
165
70
166
71
## Instalacja środowiska (Python 3.11+ / 3.12 na Ubuntu 24.10+)
167
72
@@ -225,7 +130,6 @@ Szczegółowe prompty i pytania weryfikacyjne znajdziesz w pliku `TODO.txt`.
225
130
## Kontakt i wsparcie
226
131
Projekt open-source. Wszelkie zgłoszenia błędów i propozycje zmian prosimy kierować przez Issues na GitHub.
227
132
228
-
229
133
# coBoarding
230
134
231
135
System do automatycznego wypełniania formularzy internetowych wykorzystujący lokalne modele językowe (LLM) w trzech językach (polski, niemiecki, angielski) bazujący na danych z CV.
@@ -254,8 +158,8 @@ System do automatycznego wypełniania formularzy internetowych wykorzystujący l
0 commit comments