Kitaláltam, hogy újítok a háziszerveremen, az alapja Trixie legyen, a Seafile-ból pedig a 12-es verzió.
A gépecske arm64, ez azért érdekes, mert így pont nem tudom használni a letölthető targézájukat, mivel az amd64-re készült. Van ugyen docker image, ami Rpi-re készült, az jó lehetne, de nem akarok konténerezni, nem és nem!
Így hát nekem kellett fordítani, ami nem volt bonyolult, mert build szkript megvan hozzá.
Ámde az a kígyó!!!
Trixie-n 3.13 a Python verziója. Ezzel semmi sem működik, ami a Seafilehoz kell.
Próbáltam variálni a pippel telepített függőségek verzióin, így volt olyan kombináció, ami hibátlanul települt, viszont a Seafile nem működött.
Eljátszottam a gondolattal, hogy fölteszem a Trixie-re a 3.12-es Pythont a Bookworm repóiból, aztán meg is tettem -egy kis rábeszélés után fölment-, de aztán ezt elvetettem, mert rendszerszinten vágom fejbe a Pythont, és előbb-utóbb adódna valami inkompatibilitás, amihez meg az újabb kéne megint. Márpedig lesz ilyen, mert az aktuális Radicale (még nem tartok ott), tutira az újabb Pythont igényli majd.
Már-már feladtam a küzdelmet, és kezdtem elfogadni, hogy akkor docker-ből működtetem majd, de azért bosszantott.
Keresgélésem oda vezetett, hogy egy fórum 7-ik bugyrának legmélyéből előkerült a pyenv említése.
A legjobb, hogy ez ott van a repóban 🙂
Tehát, telepítem a pyenv csomagot, majd a Seafile könyvtárába (/opt/seafile) csináltatok vele egy 3.11.11-e Pythont. Azért, mert a Bullseye is ezt a verziót tartalmazta, és ide mindenféle varázslatok nélkül lehetett telepíteni a Seafile-t.
export PYENV_ROOT="/opt/seafile/.pyenv"
pyenv install 3.11.11
Kb. 15 percnyi molyolás után lett ott egy 3.11:
tree -a -L 2
.
├── ccnet
├── conf
│ ├── .env
│ ├── gunicorn.conf.py
│ ├── __pycache__
│ ├── seafdav.conf
│ ├── seafevents.conf
│ ├── seafile.conf
│ └── seahub_settings.py
├── logs
│ ├── face_recognition.log
│ ├── file_updates_sender.log
│ ├── onlyoffice.log
│ ├── seafevents.log
│ ├── seafile.log
│ ├── seafile-monitor.log
│ ├── seahub_email_sender.log
│ └── seahub.log
├── pids
│ ├── seafevents.pid
│ └── seaf-server.pid
├── pipinstall
├── pro-data
├── .pyenv
│ ├── shims
│ ├── version
│ └── versions
├── seafile-data
│ ├── httptemp
│ ├── library-template
│ ├── storage
│ └── tmpfiles
├── seafile-server-12.0.14
│ ├── check_init_admin.py
│ ├── migrate_ldapusers.py
│ ├── pro
│ ├── reset-admin.sh
│ ├── runtime
│ ├── seaf-fsck.sh
│ ├── seaf-fuse.sh
│ ├── seaf-gc.sh
│ ├── seafile
│ ├── seafile-monitor.sh
│ ├── seafile.sh
│ ├── seahub
│ ├── seahub.sh
│ ├── setup-seafile-mysql.py
│ ├── setup-seafile-mysql.sh
│ ├── setup-seafile.sh
│ ├── sql
│ └── upgrade
├── seafile-server-latest -> seafile-server-12.0.14
└── seahub-data
└── avatars
Futtatás előtt, be kell állítani a PYENV_ROOT és a PATH kötnyezeti változókat.
export PYENV_ROOT="/opt/seafile/.pyenv"
export PATH="$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH"
Ellenőrzés:
seafile@odroid2:/opt/seafile$ echo $PATH
/opt/seafile/.pyenv/shims:/opt/seafile/.pyenv/bin:/usr/share/pyenv/shims:/usr/share/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
seafile@odroid2:/opt/seafile$ pyenv versions
system
* 3.11.11 (set by /opt/seafile/.pyenv/version)
seafile@odroid2:/opt/seafile$ python --version
Python 3.11.11
seafile@odroid2:/opt/seafile$ python3 --version
Python 3.11.11
Jól néz ki.
Puding próbája:

Tehát, a pyenv-nek hála, Debian 13-on a Seafile 12.0.14 működik.
Ez itt még csak tesztpéldány, de elindult.
Konténer nélkül!
Nekem ez így tetszik.
A következő az OnlyOffice intergációja lesz.