π³ Installation (User)
This guide explains how to deploy LibreFolio for regular use using Docker. This is the recommended method for users who do not intend to modify the source code.
β Prerequisites
- π Python 3.13+: Install Python
- π¦ Node.js 20.19+: Install Node.js (includes npm)
- π Pipenv:
pip install pipenv - π Docker: Install Docker (includes Docker Compose)
Docker group (Linux)
On Linux, your user must be in the docker group to run Docker commands without sudo:
Then log out and log back in, or run newgrp docker to activate the group in the current session.
Why Python and Node.js?
LibreFolio uses a runtime-only Docker image β the frontend and documentation are built on the host before packaging into the Docker image. Pre-built images on a container registry are planned for future releases.
π₯ 1. Download the Project
Clone the repository:
Or download the latest release from GitHub Releases and unzip it.
βοΈ 2. Configure Environment
-
Copy the example file (required β the build will refuse to proceed without
.env): -
Edit
.envto customize:- π
PORT: Change the port if8000is already in use. - π°
PORTFOLIO_BASE_CURRENCY: Your base currency (default:EUR). - π
LOG_LEVEL: Logging verbosity (default:INFO).
- π
π¦ 3. Install Dependencies
This installs Python (backend) and Node.js (frontend) dependencies.
ποΈ 4. Build the Docker Image
This command automatically:
- Builds the frontend (SvelteKit production build)
- Builds the documentation site (MkDocs)
- Packages everything into a single Docker image tagged
librefolio:latest
π 5. Start with Docker Compose
- π
-druns the application in detached mode (in the background).
π 6. Access LibreFolio
Open your browser and go to:
http://localhost:8000
(Or use the port you configured in .env).
The first time you access LibreFolio, you'll be presented with a registration page β create your account directly from the browser. The first user registered automatically becomes the administrator.
Available endpoints:
- π Frontend:
http://localhost:8000/ - π User Docs:
http://localhost:8000/mkdocs/
CLI user management
You can also manage users from the command line. See the Admin Manual β CLI Tools for commands like user creation, promotion, and listing.
π Updating LibreFolio
To update to a new version:
-
Pull the latest code:
-
Rebuild the Docker image (auto-rebuilds frontend and docs if changed):
This command builds a new image, stops the running containers, and restarts with the new version.
-
Database migrations are applied automatically on startup.
π§ͺ Try with Test Data (Optional)
You can start a test server with pre-populated mock data to explore the application before entering real data:
Access at http://localhost:8001 with user e2e_test_user / E2eTestPass123!.
The test server runs alongside the production one, using a separate database. See the Advanced Docker Guide for details.
Advanced topics
For reverse proxy setup, database backups, custom data paths, and production considerations, see the π³ Advanced Docker Guide.