Folder Structure
In this section, we will describe the folder structure of Runtipi. Here is a look of the folder structure after installation:
- docker-compose.yml
- runtipi-cli
- VERSION
- .env
- .env.local
App Data
The app-data
folder contains all the data of the apps.
It is the default location if there is no appDataPath
defined in the settings.json
file. (see Custom settings)
Each app has its own folder with the app name and all the data of the app are stored in this folder, for example app-data/nextcloud/data
.
Apps
The apps
folder contains all the apps that are installed on the device.
Each app is a folder with the app name. The app folder contains the app's config file and its docker-compose.yml
file.
You can edit the config file to change the app's settings. However, those changes will be overwritten when the app is updated. If you want to make permanent changes to the app, see the Customize app config section.
Backups
The backups
folder contains all the backups of the apps.
Each app has its own folder containing all the backups in the .tar.gz
file format.
This folder can be also used for backups of the entire Runtipi instance.
Data
The data
folder contains all the data of Runtipi, for example it includes the Postgres database data and the
Redis data.
Logs
The logs
folder contains all the logs of Runtipi. The logs are separated into 2 files
- error.log
- app.log
The error.log
file contains all the errors that are thrown by Runtipi. The app.log
file contains all the logs that are printed by Runtipi.
Media
The media
folder contains all the media files that are uploaded to the device. (e.g. images, videos, etc.)
The media
folder is an exception to the rule that all the data are stored in the app-data
folder,
this is because the media files are not app specific and can be used by multiple apps.
For example the *arr
stack uses the media folder to store the downloaded media files.
Repos
The repos
folder contains the app store repositories. Each repository is a folder with the repository id.
If you add a custom repository in your settings.json
file, it will be downloaded to this folder and displayed by the dashboard.
State
The state
folder contains the state of your instance. It contains the settings.json
file which contains the custom settings of the installation alongside some other files necessary for Runtipi to run.
Traefik
The traefik
folder contains all the configuration and certificates for the runtipi-reverse-proxy
.
User Config
The user-config
folder contains all user config.
Every app has its own folder which can contain a custom docker-compose.yml
and app.env
. See Customizing app config (opens in a new tab).
Additionally you can also customize Runtipi's docker compose file using the tipi-compose.yml
file. See Customize runtipi compose and traefik config (opens in a new tab).
Docker Compose
This is the default docker compose file for your Runtipi instance.
It gets regenerated every time by the CLI and uses the values from the .env
file to configure your instance (see below).
This file is not meant to be edited, if you want to modify it please take a look at Customize runtipi compose and traefik config (opens in a new tab).
Runtipi CLI
You are probably already familiar with the runtipi-cli
.
It provides a command line interface to configure and manage your instance, for example start, stop, restart etc.
See Using the CLI (opens in a new tab) for more info.
Version
This file just contains the Runtipi version in plain text, for example v3.6.0
.
Environment
This file contains all the configuration of the Runtipi instance.
For example it includes database passwords, versions, paths and all required environment variables for Runtipi to run.
It is not designed to be modified as it gets regenerated every time by the CLI.
To make changes please check the .env.local
file below.
Local Environment
The .env.local
file doesn't exist by default.
You can create it to customize Runtipi's environment file.
For instructions on how to use it see Custom environment variables (opens in a new tab)