Folder Structure
This page describes the default host-side layout of a Runtipi installation.
- app.log
- error.log
- settings.json
- traefik.yml
- tipi-compose.yml
- docker-compose.yml
- runtipi-cli
- VERSION
- .env
- .env.local
App Data
The app-data folder contains persistent data for installed apps. Each app store has its own subfolder, and each app gets its own directory inside that store folder.
Multi app-store support was introduced in Runtipi 4. Apps migrated from older
installs typically live under the migrated store slug.
Apps
The apps folder contains the installed copy of each app definition. This usually includes config.json, the app source docker-compose.yml, generated files such as docker-compose.generated.yml, and metadata assets.
Backups
The backups folder contains per-app backup archives. Backups are organized by store slug and app name.
Logs
The logs folder contains Runtipi logs:
- app.log
- error.log
app.log contains general runtime logs, while error.log contains failures and stack traces.
Media
The media folder stores shared media directories that multiple apps can use. Unlike app-specific data, this folder is meant to be shared across your media stack.
Repos
The repos folder contains cloned app store repositories. Each repository is stored under its app store slug, not under a hash.
State
The state folder contains instance state such as settings.json and other internal files used during startup, authentication, and maintenance operations.
Traefik
The traefik folder contains the generated Traefik config, dynamic config, shared ACME state, and local TLS files.
User Config
The user-config folder contains user overrides. Each app store has its own subfolder, and each app folder can contain a custom docker-compose.yml and app.env. See Customize app config.
You can also customize the main Runtipi stack with user-config/tipi-compose.yml. See Customize Runtipi compose and traefik config.
Docker Compose
docker-compose.yml is the main stack file for your Runtipi instance. It is generated and managed by the CLI, so you should not edit it directly. Use user-config/tipi-compose.yml if you need overrides.
Runtipi CLI
runtipi-cli is the command-line tool used to start, stop, update, and troubleshoot your installation. See Using the CLI.
Version
VERSION stores the currently installed Runtipi version.
Environment
.env contains the generated runtime environment for the current installation. It is rewritten during startup, so permanent changes should be made through settings or a custom env file instead.
Local Environment
.env.local does not exist by default. You can create it and pass it to the CLI with --env-file. See Custom environment variables.
PostgreSQL data
Runtipi’s PostgreSQL data is stored in the Docker volume pgdata, not as a normal folder inside the project directory.