Documentation
Reference
Folder Structure

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)