Albumik
Lekka prywatna galeria zdjęć i filmów na YunoHost.
Co jest w tej wersji v0.1
- panel WWW w stylu zaakceptowanego mockupu,
- logowanie administratora,
- role: admin, użytkownik, gość,
- katalogi i podkatalogi wielopoziomowe,
- uprawnienia do katalogów,
- upload zdjęć i filmów przez WWW,
- gość może wysyłać zdjęcia do akceptacji,
- kolejka „Do akceptacji”,
- akceptacja / odrzucenie zdjęć,
- przenoszenie zdjęć pomiędzy katalogami,
- szybkie tagowanie,
- wyszukiwarka po nazwie, katalogu, tagach i dacie,
- dziennik zdarzeń,
- SQLite jako baza,
- brak AI, brak transkodowania, brak agresywnego generowania miniatur.
Instalacja na YunoHost
Najprościej po wrzuceniu katalogu na serwer:
sudo yunohost app install ./albumik_ynh
Podczas instalacji podajesz:
- domenę, np.
albumik.serwer.be, - ścieżkę, najlepiej
/, - login administratora,
- hasło administratora.
Dane aplikacji
Domyślne ścieżki po instalacji:
/var/www/albumik # kod aplikacji
/home/yunohost.app/albumik # baza, zdjęcia, logi
/etc/albumik/config.json # konfiguracja
Zdjęcia są trzymane zwykłymi plikami:
/home/yunohost.app/albumik/media/originals
/home/yunohost.app/albumik/media/pending
/home/yunohost.app/albumik/media/thumbs
/home/yunohost.app/albumik/media/previews
Uruchomienie testowe poza YunoHost
cd albumik_ynh
mkdir -p /tmp/albumik-data
cp conf/config.json /tmp/albumik-config.json
sed -i 's#__PORT__#8097#g' /tmp/albumik-config.json
sed -i 's#__PATH__##g' /tmp/albumik-config.json
sed -i 's#__DATA_DIR__#/tmp/albumik-data#g' /tmp/albumik-config.json
sed -i "s#__INSTALL_DIR__#$(pwd)#g" /tmp/albumik-config.json
sed -i 's#__ADMIN_USER__#admin#g' /tmp/albumik-config.json
sed -i 's#__ADMIN_PASSWORD__#admin123#g' /tmp/albumik-config.json
ALBUMIK_CONFIG=/tmp/albumik-config.json python3 backend/app.py
Wejście:
http://127.0.0.1:8097
login: admin
hasło: admin123
Ważne założenie wydajnościowe
Albumik nie działa jak Immich. Serwer nie ma mielić zdjęć w tle.
W docelowej aplikacji Android telefon będzie wysyłał:
- oryginał,
- lekką miniaturę,
- opcjonalny podgląd.
Serwer ma przede wszystkim zapisywać i udostępniać pliki.
Description
Languages
Python
57%
JavaScript
17.4%
HTML
9.9%
CSS
9.7%
Shell
6%