Samodzielny hosting
Uruchom OpenTickly na własnej maszynie — jedno polecenie Docker Compose podnosi Web + API + Postgres + Redis, gotowe w 5 minut. 100% zgodności z Toggl API, oficjalni klienci łączą się bezpośrednio.
Uruchomienie OpenTickly na własnej maszynie wymaga tylko jednego pliku docker-compose.yml. Poniżej przejdziemy przez cały proces — od zera do działającej instancji.
Wymagania systemowe
- Dowolna maszyna z systemem Linux, macOS lub Windows z zainstalowanym Docker Engine 20.10+ oraz Docker Compose v2
- Około 1 GB pamięci RAM i 1 GB miejsca na dysku
- Jeden wolny port TCP (domyślnie
8080)
Jeśli nie masz jeszcze Dockera, zainstaluj go według oficjalnej instrukcji i wróć tutaj.
Wdrożenie serwera
Krok 1 — Pobierz docker-compose.yml
Utwórz nowy katalog i ściągnij oficjalny plik compose:
mkdir -p opentickly && cd opentickly
wget -O docker-compose.yml \
https://raw.githubusercontent.com/CorrectRoadH/OpenTickly/main/docker-compose.ymlTen plik compose definiuje trzy kontenery:
- OpenTickly — interfejs webowy + REST API (wystawia na zewnątrz port
8080) postgres— baza danych (wyłącznie w sieci wewnętrznej, bez ekspozycji na zewnątrz)redis— cache oraz kolejka zadań w tle (wyłącznie w sieci wewnętrznej, bez ekspozycji na zewnątrz)
Krok 2 — (opcjonalnie) Skonfiguruj .env
Wartości domyślne działają od razu. Gdy chcesz zmienić port lub hasła, utwórz w tym samym katalogu plik .env:
# Port wystawiany na zewnątrz dla Web UI i API
OPENTOGGL_PORT=8080
# Przed wdrożeniem produkcyjnym zdecydowanie zmień na silne hasła
OPENTOGGL_POSTGRES_PASSWORD=postgres
OPENTOGGL_REDIS_PASSWORD=opentogglTe trzy zmienne to jedyne nadpisywalne ustawienia w całym pliku compose — wszystko inne (nazwa bazy, użytkownik, obrazy, wewnętrzne ciągi połączeń) jest zaszyte na stałe, aby uniknąć dryfu konfiguracji. Jeśli potrzebujesz głębszych zmian, edytuj docker-compose.yml bezpośrednio.
Na produkcji koniecznie zmień oba hasła. Wartości domyślne nadają się wyłącznie do lokalnych eksperymentów. Nawet jeśli Postgres/Redis nie są wystawione na host, ustawienie haseł jest podstawowym zabezpieczeniem na wypadek włamania do sieci wewnętrznej.
Krok 3 — Uruchom kontenery
docker compose up -dDostęp do aplikacji webowej
Otwórz w przeglądarce http://<twój-IP>:8080, zarejestruj pierwsze konto i możesz zacząć śledzić czas.
Na telefonie
Oficjalnej aplikacji mobilnej na razie nie ma, ale możesz dodać Web UI do ekranu głównego telefonu jako PWA. Twórcy zewnętrznych klientów Toggl, takich jak timery, są właśnie kontaktowani w sprawie adaptacji pod OpenTickly.
Podłączenie agentów AI
OpenTickly nie ma limitu 30 wywołań API na godzinę, co oznacza, że agenci tacy jak Claude czy Cursor mogą korzystać z niego bez oporów. W połączeniu z toggl-cli — wgrywasz paczkę umiejętności do środowiska agenta i w kilka minut AI startuje i zatrzymuje Twoje timery oraz porządkuje projekty.
Aktualizacja
docker compose pull
docker compose up -dWdrożenie na NAS / Homelab
OpenTickly działa na każdej platformie obsługującej Docker Compose. Poniższe kroki to po prostu opakowanie tej samej procedury w interfejsy poszczególnych systemów — polecenia pod spodem są identyczne.
CasaOS
- Otwórz panel CasaOS
- Przejdź do App Store → Custom Install → Import docker-compose
- Wklej zawartość
docker-compose.yml - Ustaw port Web UI na
8080i zapisz - Uruchom aplikację z panelu
Wejdź pod http://<twój-adres-CasaOS>:8080.
ZimaOS
ZimaOS (oficjalny system Zimablade / Zimacube) korzysta z tego samego App Store co CasaOS, więc kroki są identyczne: App Store → Custom Install → Import docker-compose i wklejasz plik compose.
Synology
Synology DSM 7.2+ obsługuje Docker Compose poprzez Container Manager:
- Otwórz Container Manager → Projekt → Utwórz
- Nadaj nazwę projektu, np.
opentickly - Wybierz Użyj docker-compose.yml i wklej plik compose
- Przejdź przez kreator, klikając dalej aż do końca
Jeśli port 8080 koliduje z DSM, przed utworzeniem projektu dodaj w ustawieniach środowiska
OPENTOGGL_PORT=9090 (lub dowolny wolny port).
fnOS
fnOS ma wbudowany panel Dockera:
- Otwórz aplikację Docker z pulpitu fnOS
- W lewym panelu wybierz Compose → Nowy projekt
- Nazwij projekt
opentickly, pozostaw domyślną ścieżkę zapisu - W polu Zawartość Compose wklej plik compose
- Kliknij Wdróż i poczekaj, aż wszystkie trzy kontenery zaświecą się na zielono
Inne platformy
Poniższe platformy korzystają z tego samego procesu Docker Compose:
- Unraid — Community Applications lub wtyczka Compose Manager
- TrueNAS SCALE — niestandardowa aplikacja + Docker Compose
- Proxmox LXC — zainstaluj Docker w kontenerze LXC, a następnie postępuj według wdrożenia serwera
Referencja konfiguracji
Cały plik compose ma tylko trzy nadpisywalne ustawienia:
| Zmienna | Domyślna | Opis |
|---|---|---|
OPENTOGGL_PORT | 8080 | Port zewnętrzny dla Web UI i API |
OPENTOGGL_POSTGRES_PASSWORD | postgres | Hasło Postgres (na produkcji koniecznie zmień) |
OPENTOGGL_REDIS_PASSWORD | opentoggl | Hasło Redis (na produkcji koniecznie zmień) |
Wszystkie pozostałe ustawienia (nazwa bazy, użytkownik, tagi obrazów, wewnętrzne ciągi połączeń, nazwy wolumenów) są zaszyte na stałe w docker-compose.yml. Jeśli chcesz je zmienić, edytuj plik.
Punkty końcowe health check
| Ścieżka | Zastosowanie |
|---|---|
/readyz | Sprawdzenie gotowości (zależy od DB + Redis) |
/healthz | Sprawdzenie żywotności (czy proces działa) |
Kolejne kroki
- Integracja z AI — podłącz Claude i Cursor do własnej instancji
- Repozytorium GitHub — kod źródłowy, Issues, Discussions
- Problemy z wdrożeniem? Zgłoś je w Issues