๐ก๏ธ Admin Manual
This manual is for the people who install and run LibreFolio. Most administration happens from the command line, through environment variables, or in the app's Admin settings tab.
๐ Guides
๐ณ Deployment & Exposure
- ๐ฆ Host Installation: Manual setup using Python, Node.js, and Pipenv directly on the host machine.
- ๐ณ Advanced Docker: Containerized deployment using Docker Compose, volume bindings, and user GID/UID ownership configuration.
- ๐ Expose Securely: Securely expose your private LibreFolio instance over the internet.
- ๐ Check Connection Security: Verify that your users connect securely, and fix the session cookie or the reverse proxy when they do not.
โ๏ธ System Configuration
- ๐ Environment Variables: Full list of supported
.envvariables (PORT,JWT_SECRET,LIBREFOLIO_DATA_DIR, etc.) and variable resolution precedence. - โ๏ธ Global Settings: Configure system-wide runtime settings (session TTL, upload limits, market data sync intervals).
๐งน Maintenance & Operations
- ๐ ๏ธ CLI Admin Tools: How to use the
dev.pyscript for administrative tasks (user management, database upgrades). - ๐ Filesystem Structure: Details on where databases, logs, uploads, and temporary folders are stored, and how to perform backups.
๐ Update Notifications
When an administrator signs in, LibreFolio checks GitHub for a newer stable release. If there is one, the New version available window shows your version and the latest side by side, with a How to update link to the updating guide and a Release notes on GitHub link.
- Remind me later closes the window until a later sign-in.
- Skip this version stops the automatic prompt for that version; a newer one is announced again.
- A release is announced only once its Docker image can be downloaded, and the window waits until no other window or guide is open.
- Without internet access, the automatic check fails silently: no error, no banner.
- To check right away, use Check for updates in the changelog: it reports errors, and versions you skipped too.
๐ฅ Other users โ when someone who is not an administrator checks
For users who are not administrators, no check runs at sign-in. If one of them runs Check for updates and a newer release exists, the Update available โ contact an administrator dialog lists the administrators, with their e-mail addresses when available, so they know whom to ask.
๐ Keep Users Signed In After a Restart
LibreFolio signs every login session with a secret key, JWT_SECRET.
- Not set (the default): a new random key is made at every start, so everyone must log in again after a restart or an update.
- Set: sessions survive restarts. Set it also if several separate LibreFolio servers share the same users behind a load balancer.
๐ 1. Generate a key
No Python on the host? Run it inside the container instead:
๐ 2. Add it to .env and restart
Restart LibreFolio (with Docker Compose: docker compose up -d). Keep the key private: whoever
knows it can forge a session.
The workers of a single ./dev.py server --workers โฆ share one key on their own. How long a
session lasts is the Session Duration in Global Settings. For the details, see
the developer page Security Architecture.