Upload files to "/"
This commit is contained in:
17
ADMIN.md
Normal file
17
ADMIN.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Albumik - administracja
|
||||
|
||||
Po instalacji zaloguj się kontem administratora podanym w instalatorze.
|
||||
|
||||
## Role
|
||||
|
||||
- Admin: pełny dostęp.
|
||||
- Użytkownik: może mieć prawo tworzenia katalogów, wysyłania zdjęć i tagowania.
|
||||
- Gość: może mieć podgląd oraz opcjonalnie wysyłanie zdjęć do akceptacji.
|
||||
|
||||
## Katalogi
|
||||
|
||||
Katalogi mogą mieć dowolne podkatalogi. Dostępy dziedziczą się z katalogu nadrzędnego, jeśli nie wyłączysz dziedziczenia.
|
||||
|
||||
## Zdjęcia od gości
|
||||
|
||||
Zdjęcia wysłane przez gościa mają status `pending` i trafiają do widoku „Do akceptacji”. Admin lub użytkownik z uprawnieniem zarządzania katalogiem może je zaakceptować, odrzucić, otagować albo przenieść.
|
||||
1
DESCRIPTION.md
Normal file
1
DESCRIPTION.md
Normal file
@@ -0,0 +1 @@
|
||||
Albumik to lekka prywatna galeria zdjęć i filmów dla YunoHost. Obsługuje użytkowników, gości, katalogi z podkatalogami, uprawnienia, tagowanie, wyszukiwanie i akceptację zdjęć wysłanych przez gości.
|
||||
90
README.md
Normal file
90
README.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# 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:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```text
|
||||
/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:
|
||||
|
||||
```text
|
||||
/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
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```text
|
||||
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ł:
|
||||
|
||||
1. oryginał,
|
||||
2. lekką miniaturę,
|
||||
3. opcjonalny podgląd.
|
||||
|
||||
Serwer ma przede wszystkim zapisywać i udostępniać pliki.
|
||||
8
backup
Normal file
8
backup
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
source ./scripts/_common.sh
|
||||
|
||||
mkdir -p "$YNH_BACKUP_DIR"
|
||||
tar -C / -czf "$YNH_BACKUP_DIR/albumik-data.tar.gz" "${data_dir#/}" "${config_dir#/}" "${install_dir#/}" 2>/dev/null || true
|
||||
if [ -f "$service_file" ]; then cp "$service_file" "$YNH_BACKUP_DIR/$app.service"; fi
|
||||
echo "Albumik backup declared"
|
||||
52
manifest.toml
Normal file
52
manifest.toml
Normal file
@@ -0,0 +1,52 @@
|
||||
packaging_format = 2
|
||||
id = "albumik"
|
||||
name = "Albumik"
|
||||
description.en = "Lightweight private photo album with folder permissions and guest uploads"
|
||||
description.pl = "Lekki prywatny album zdjęć z katalogami, gośćmi i akceptacją zdjęć"
|
||||
version = "0.1.0~ynh1"
|
||||
maintainers = ["Filip"]
|
||||
|
||||
[upstream]
|
||||
license = "AGPL-3.0-or-later"
|
||||
website = "https://albumik.serwer.be"
|
||||
|
||||
[integration]
|
||||
yunohost = ">= 12.0"
|
||||
architectures = "all"
|
||||
multi_instance = true
|
||||
ldap = false
|
||||
sso = false
|
||||
disk = "50M"
|
||||
ram.build = "50M"
|
||||
ram.runtime = "80M"
|
||||
|
||||
[install]
|
||||
[install.domain]
|
||||
type = "domain"
|
||||
|
||||
[install.path]
|
||||
type = "path"
|
||||
default = "/"
|
||||
|
||||
[install.admin_user]
|
||||
ask.en = "Initial admin login"
|
||||
ask.pl = "Login pierwszego administratora"
|
||||
type = "string"
|
||||
default = "admin"
|
||||
|
||||
[install.admin_password]
|
||||
ask.en = "Initial admin password"
|
||||
ask.pl = "Hasło pierwszego administratora"
|
||||
type = "password"
|
||||
|
||||
[resources]
|
||||
[resources.sources]
|
||||
[resources.system_user]
|
||||
[resources.install_dir]
|
||||
[resources.data_dir]
|
||||
[resources.permissions]
|
||||
main.url = "/"
|
||||
[resources.ports]
|
||||
main.default = 8097
|
||||
[resources.apt]
|
||||
packages = "python3"
|
||||
Reference in New Issue
Block a user