- Docs
- Skribly Tracker
- Własny hosting z Dockerem
Własny hosting z Dockerem
Uruchom Skribly Tracker na własnym komputerze lub serwerze z Docker Compose albo bez Dockera i zachowaj dane między restartami.
Tracker ma gotowy stos Docker Compose: aplikację (PHP-FPM), nginx, MySQL 8.4, Vite do zasobów i workera kolejki, który dostarcza webhooki.
Start z Dockerem
Dział zatytułowany „Start z Dockerem”-
Sklonuj repozytorium i utwórz plik środowiskowy:
Okno terminala git clone https://github.com/skribly/tracker.git skribly-trackercd skribly-trackercp .env.example .env -
Przed pierwszym uruchomieniem ustaw hasło do konta administratora. Otwórz plik
.envi uzupełnijTRACKER_ADMIN_PASSWORD; linia nad nim podaje adres e-mail administratora. -
Zbuduj i uruchom stos:
Okno terminala docker compose up -d --build -
Otwórz adres
http://localhost:8100i zaloguj się jako administrator.
Przy pierwszym starcie skrypt startowy generuje klucz aplikacji, czeka na bazę danych, uruchamia migracje i zasila demonstracyjną przestrzeń trzema projektami, ich zgłoszeniami, komentarzami i wpisami czasu. Kolejne restarty zachowują dane: zasilanie (seed) działa tylko wtedy, gdy baza jest pusta.
| Usługa | Adres | Uwagi |
|---|---|---|
| Tracker (nginx) | http://localhost:8100 |
Zmienisz przez TRACKER_PORT |
| Vite | http://localhost:5174 |
Buduje przy zapisie; VITE_DEV_SERVER=true włącza hot reload |
| MySQL 8.4 | Tylko wewnątrz sieci Docker | Dane w nazwanym wolumenie |
| Worker kolejki | Brak portu | Dostarcza webhooki: 3 próby, potem rezygnuje |
nginx udostępnia endpoint /health, którego używa healthcheck kontenera. Przesłane pliki leżą w nazwanym wolumenie app-storage, więc przetrwają przebudowanie.
Codzienne polecenia
Dział zatytułowany „Codzienne polecenia”docker compose logs -f app queue # follow the app and the webhook workerdocker compose exec app php artisan tracker:token you@example.com "Skribly Agent"docker compose exec app php artisan migrate # after pulling a new versiondocker compose down # stop; data stays in the volumesdocker compose down -v # stop and delete all dataBez Dockera
Dział zatytułowany „Bez Dockera”Potrzebujesz PHP 8.4, Composera i Node.js 22.
cp .env.example .env # set DB_* or DB_CONNECTION=sqlitecomposer install && npm install && npm run buildphp artisan key:generatephp artisan migrate --seedphp artisan servephp artisan queue:work # in a second terminal, for webhooksUruchomienie dla zespołu
Dział zatytułowany „Uruchomienie dla zespołu”- Ustaw
APP_ENV=production,APP_DEBUG=falseorazAPP_URLna publiczny adres. - Umieść Tracker za HTTPS. Tokeny są przesyłane w nagłówku
Authorization. - Zmień w
.envhasła do bazy z przykładowych na własne. - Pilnuj, żeby worker kolejki działał, bo inaczej webhooki nie będą dostarczane.
- Rób kopie zapasowe wolumenu bazy i wolumenu plików.
Wszystkie ustawienia są wymienione w sekcji Konfiguracja.
Aktualizacja
Dział zatytułowany „Aktualizacja”git pulldocker compose up -d --builddocker compose exec app php artisan migrate --forceKażdy push do main w repozytorium Trackera publikuje wydanie GitHub Release z notatkami pogrupowanymi na podstawie commitów. Zobacz listę zmian.