An open API service indexing awesome lists of open source software.

https://github.com/owntube-tv/cust-app-pitube

Customized Android, AndroidTV, iOS and tvOS builds for "Privacy Tube" brand of OwnTube-tv/web-client.
https://github.com/owntube-tv/cust-app-pitube

android-app android-tv-app ios-app owntube owntube-tv pwa-app tvos-app web-app

Last synced: 6 days ago
JSON representation

Customized Android, AndroidTV, iOS and tvOS builds for "Privacy Tube" brand of OwnTube-tv/web-client.

Awesome Lists containing this project

README

          

# OwnTube.tv "Privacy Tube" Branded App

Customized Android, AndroidTV, iOS, and tvOS builds for Privacy Tube brand of OwnTube-tv/web-client.

Web version available at: https://cust-app-pitube.owntube.tv/

App beta versions:


Get the beta on TestFlight




Get the beta on Google Play

## How to Use

Follow the steps below to customize and deploy your branded OwnTube instance.

### 1. Create a `.customizations` File

In the root of the repository, create a `.customizations` file. This file will contain your app-specific customizations. Use it to define the following variables:

### 2. Restrict the App to a Primary Backend

Add the following line to your `.customizations` file:
```bash
EXPO_PUBLIC_PRIMARY_BACKEND=
```
This restricts the app to the specified hostname and disables instance selection in the web app. Note that users can still bypass this restriction by entering a different hostname in the URL parameters.

### 3. Configure App Customizations

#### All Platforms
Define the following variables for all platforms:

- **App Name:**
```bash
EXPO_PUBLIC_APP_NAME=
```
The name of the app displayed throughout.

- **App Slug:**
```bash
EXPO_PUBLIC_APP_SLUG=
```
A unique identifier for your app.

- **App Icon:**
```bash
EXPO_PUBLIC_ICON=
```
The global icon used in the app. Size: arbitrary but it looks best if 512x512 is reused here.

#### Web Platform
Define the following variables for the web platform:

- **Favicon:**
```bash
EXPO_PUBLIC_FAVICON_URL=
```
The URL of the favicon for your site. Size: 32x32.

- **Base URL:**
```bash
EXPO_PUBLIC_BASE_URL=
```
The base URL used by Expo when deploying to GitHub Pages or similar services.

#### Mobile Platform
Define the following variables for the mobile platform:

- **Splash Screen Background Color:**
```bash
EXPO_PUBLIC_SPLASH_BG_COLOR=
```
The background color for the splash screen.

- **Splash Screen Image:**
```bash
EXPO_PUBLIC_SPLASH_IMAGE=
```
The splash screen image file. Size: 1152x1152, transparent background.

- **Android TV:**
```bash
EXPO_PUBLIC_ANDROID_TV_BANNER=
```
The Android TV banner image file. Size: 320x180.

- **Apple TV Icons:**
```bash
EXPO_PUBLIC_APPLE_TV_ICON=
EXPO_PUBLIC_APPLE_TV_ICON_SMALL=
EXPO_PUBLIC_APPLE_TV_ICON_SMALL_2X=
EXPO_PUBLIC_APPLE_TV_TOP_SHELF=
EXPO_PUBLIC_APPLE_TV_TOP_SHELF_2X=
EXPO_PUBLIC_APPLE_TV_TOP_SHELF_WIDE=
EXPO_PUBLIC_APPLE_TV_TOP_SHELF_WIDE_2X=
```
Apple TV-specific icons and top-shelf images. Sizes:
- icon: 1280x768
- iconSmall: 400x240
- iconSmall2x: 800x480
- topShelf: 1920x720
- topShelf2x: 3840x1440
- topShelfWide: 2320x720
- topShelfWide2x: 4640x1440

---

#### Example `.customizations` File

Here is an example `.customizations` file for reference:

```bash
EXPO_PUBLIC_APP_NAME=''
EXPO_PUBLIC_APP_SLUG=
EXPO_PUBLIC_IOS_BUNDLE_IDENTIFIER=
EXPO_PUBLIC_ANDROID_PACKAGE=
EXPO_PUBLIC_PRIMARY_BACKEND=
EXPO_PUBLIC_FAVICON_URL=
EXPO_PUBLIC_SPLASH_BG_COLOR=''
EXPO_PUBLIC_SPLASH_IMAGE=
EXPO_PUBLIC_ICON=
EXPO_PUBLIC_APPLE_TV_ICON=
EXPO_PUBLIC_APPLE_TV_ICON_SMALL=
EXPO_PUBLIC_APPLE_TV_ICON_SMALL_2X=
EXPO_PUBLIC_APPLE_TV_TOP_SHELF=
EXPO_PUBLIC_APPLE_TV_TOP_SHELF_2X=
EXPO_PUBLIC_APPLE_TV_TOP_SHELF_WIDE=
EXPO_PUBLIC_APPLE_TV_TOP_SHELF_WIDE_2X=
EXPO_PUBLIC_ANDROID_TV_BANNER=
EXPO_PUBLIC_ICON_192=
EXPO_PUBLIC_ICON_512=
EXPO_PUBLIC_HIDE_VIDEO_SITE_LINKS=<1_to_enable_or_omit_for_default>
EXPO_PUBLIC_HIDE_GIT_DETAILS=<1_to_enable_or_omit_for_default>
EXPO_PUBLIC_LANGUAGE_OVERRIDE=
EXPO_PUBLIC_FOOTER_LOGO=
EXPO_PUBLIC_CUSTOM_DEPLOYMENT_URL=
EXPO_PUBLIC_PROVIDER_LEGAL_ENTITY='Your Company Ltd'
EXPO_PUBLIC_PROVIDER_LEGAL_EMAIL=legal@yourcompany.com
EXPO_PUBLIC_PROVIDER_CONTACT_EMAIL=info@yourcompany.com
EXPO_APP_THEME_COLOR=''
EXPO_APP_BG_COLOR=''
EXPO_APP_DESCRIPTION=''
```

---

### 4. Set Up Environment Variables

TODO: Mike, please add docs on how to proceed with the next step here.

## Notes

- **Image and Custom File Paths:**
If you want to include custom images or other files directly in this repository, place them in a `/assets` folder. When referencing these files in the `.customizations` file, use paths starting with `../customizations/`. This is the path structure that the build process expects.

For example:
```bash
EXPO_PUBLIC_SPLASH_IMAGE=../customizations/assets/splashScreen.png
EXPO_PUBLIC_ICON=../customizations/assets/icon.png
```
- **Code Signing for Apple & TestFlight:**
Setting up code signing and TestFlight for Apple devices requires additional configuration. Refer to the [OwnTube Documentation](https://github.com/OwnTube-tv/web-client/blob/main/docs/pipeline.md) for detailed instructions on configuring code signing and deploying your app to TestFlight.
- **Code Signing for Android & Google Play:**
Refer to the [OwnTube Documentation](https://github.com/OwnTube-tv/web-client/blob/main/docs/pipeline.md) for detailed instructions on how to configure delivery to Google Play.
- Ensure all referenced files (e.g., icons and splash images) exist in the specified paths.
- Double-check the configurations before deploying to avoid runtime errors.