imgproxy - szybki serwer do zmiany rozmiaru, przycinania i konwersji obrazów w locie po parametrach zapisanych w adresie URL.
Środowisko
| Runtime | Oficjalny obraz Docker darthsim/imgproxy, jeden kontener, bez własnego panelu web - wyłącznie API |
| Zalecany plan | Box S+ (Docker, jeden lekki kontener, min 512 MB RAM) |
Przykładowy saplo.yaml
Plik saplo.yaml w katalogu głównym repozytorium opisuje, jak Saplo ma zbudować i uruchomić aplikację. Wygeneruje go też komenda saplo init.
version: 1
name: my-imgproxy
stack: imgproxy
app_id: 1234
Pełny opis wszystkich pól znajdziesz na stronie Plik saplo.yaml.
Jak wdrożyć
Ten stack wdrożysz na trzy sposoby - wybierz wygodny dla siebie:
- Z panelu - tworzysz aplikację klikami, kod wgrywasz później przez CLI lub Git.
- Saplo CLI - z katalogu projektu:
saplo init, potemsaplo deploy. - Deploy z GitHub - podłączasz repo raz, każdy push wdraża się sam.
# Najszybsza droga - z katalogu projektu
$ npm install -g @saplo/cli
$ saplo login
$ saplo init
$ saplo deploy
Dobrze wiedzieć
- Stawiasz z panelu jednym kliknięciem - Saplo instaluje Docker CE i uruchamia jeden kontener.
- Klucz i sól do podpisywania adresów (HMAC) generowane są losowo przy instalacji - zapisane w pliku IMGPROXY-SETUP.txt w katalogu aplikacji, razem z gotowym przykładem w Pythonie do budowania podpisanych linków.
- Bez podpisu każde zadanie dostaje odpowiedź 403 - to celowe zabezpieczenie, inaczej każdy w internecie mógłby kazać Twojemu Boxowi pobierać i przetwarzać dowolne obrazy.
- imgproxy nie ma własnego panelu web - to wyłącznie API. Sprawdzenie, że kontener żyje: GET /health (bez podpisu, zawsze 200).
- Adresy źródłowe wskazujące na sieci prywatne (w tym wewnętrzną sieć Saplo) są zablokowane - imgproxy pobiera obrazy wyłącznie z publicznego internetu.
Gotowy na deploy?
Wybierz plan Box i postaw aplikację imgproxy jeszcze dziś.