---
description: 'How to Create Your Own F-Droid Repo to Share as a Content Pack'
sidebar_position: 2
---

# F-Droid Repo

You can build your own curated F-Droid repo using your computer's
terminal. Once set up, users can connect their F-Droid app to your Butter
Box and start downloading apps.



### Step 1: Install F-Droid Server Tools

Before you begin, you need to install a tool called **fdroidserver**. This
helps you create and manage your app store.

**On Mac (using Homebrew):**

```
 brew install fdroidserver 
```

**On Linux (Debian/Ubuntu):**

```
 sudo apt install fdroidserver 
```

### Step 2: Check that it's installed correctly

After installation, run this command:

```
 fdroid version
```

If everything is working, you will see a version number printed on the
screen.

### Step 3: Create Your Repo Folder

You need to create the folder where you will save the repo files in your
computer, choose a name that aligns with the project or purpose of the apps
in it, and replace my-fdroid-repo for that name in the command.

```
mkdir -p ~/my-fdroid-repo
```

```
cd ~/my-fdroid-repo
```

### Step 4: Initialize the repo

```
fdroid init
```

This creates the following directories in your repo file:

```
Config.yml 
```

```
repo/
```

```
metadata/
```

### Step 5: Add your APKs

Copy your signed APKs into the repo/ folder. Ensure you only use apps from
trusted sources like the official F-Droid library or verified developers.

**Security Note:** Avoid downloading APKs from "mirror" sites or unknown sources, as they can contain malware or trackers that compromise your users' privacy.

```
cp /path/to/your/*.apk repo/
```

Example:

```
cp ~/Downloads/myapp.apk repo/
```

### Step 6: Generate (and Update) the Repository Index

Every time you add a new APK or a new version of an app to your repo/
folder, you must run the following command to "publish" those changes:

```
fdroid update --create-metadata
```

What this command does:

* **Escanea APKs:** Lee los nuevos archivos en tu carpeta /repo.
* **Genera metadatos:** Crea archivos YAML que contienen el nombre, la
  versión y los permisos de la aplicación.
* **Crea index.v1.jar:** Este es el archivo "catálogo" que la aplicación
  F-Droid descarga para ver qué hay disponible.
* **Firma el repositorio:** Utiliza tu clave secreta para firmar el índice,
  demostrando a la aplicación de Android que los archivos no han sido
  manipulados.

### Paso 7: Prueba tu repositorio localmente

Para probar tu repositorio localmente y asegurarte de que todo funciona
correctamente antes de compartirlo en la Caja Mantequilla, puedes servir su
contenido localmente y agregarlo a F-Droid mediante una URL.

```
cd repo
```

```
python3 -m http.server 8000
```

Una vez que tu repositorio esté activo, abre la aplicación F-Droid en tu dispositivo y ve a **Configuración > Repositorios > "+"**. Selecciona **"Introducir URL del repositorio manualmente"** para añadir tu nueva fuente.

Agregar el repositorio manualmente le permite verificar la experiencia del
usuario comprobando lo siguiente:

* **Visibilidad de la app:** ¿Aparecen todas tus apps en la lista?
* **Recursos visuales:** ¿Se muestran correctamente los iconos y las
  capturas de pantalla?
* **Categorización:** ¿Aparecen las aplicaciones en las secciones correctas
  (por ejemplo, Internet, Seguridad)?
* **Funcionalidad:** ¿Las descargas e instalaciones se completan sin
  errores?
* **Metadatos:** ¿Coinciden el número de versión y la descripción con los
  archivos de tu repositorio?



Tu repositorio estará disponible en:

`http://YOUR-IP:8000/repo`



**Encuentra tu IP:**

#### macOS:

```
ipconfig getifaddr en0
```

#### Linux:

```
hostname -I
```
