Tipi is a homeserver for everyone! One command setup, one click installs for your favorites self-hosted apps.
Find a file
2022-10-12 00:20:51 +02:00
.github refactor: replace usage of config with new runtime config 2022-09-21 22:59:33 +02:00
.husky test: apps.resolver 2022-08-10 22:09:23 +02:00
.vscode Automatic commit 2022-04-07 10:34:18 +02:00
app-data Test gluetun config 2022-03-30 21:26:01 +02:00
apps feat(api): copy app files locally instead of reading from repo 2022-08-09 20:44:07 +02:00
media fix: re-add ignored media folder [skip ci] 2022-10-11 23:01:36 +02:00
packages fix: dockerfile issue 2022-10-08 02:15:52 +02:00
repos wip: external repo for apps [skip ci] 2022-08-03 22:36:27 +02:00
screenshots [ImgBot] Optimize images 2022-06-14 07:18:19 +00:00
scripts fix: run system-info.sh before changing permissions [skip ci] 2022-10-12 00:20:51 +02:00
state Remove apps status from source control 2022-04-15 12:37:51 +00:00
templates feat: customize applications storage-path 2022-09-29 18:33:34 +02:00
traefik feat(update front-end to support a custom domain api): n 2022-09-04 14:54:11 +02:00
.all-contributorsrc update .all-contributorsrc [skip ci] 2022-09-21 19:42:15 +02:00
.dockerignore App actions GraphQL 2022-06-22 21:28:48 +02:00
.gitignore fix: .gitignore exclusion [skip ci] 2022-10-11 23:04:27 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2022-05-13 14:04:16 +00:00
commitlint.config.js test(wip): apps.resolver 2022-07-27 22:15:41 +02:00
docker-compose.dev.yml chore: merge master 2022-10-09 23:02:32 +02:00
docker-compose.rc.yml fix: map .env file to container [skip ci] 2022-10-10 08:25:25 +02:00
docker-compose.yml fix: map .env file to container [skip ci] 2022-10-10 08:25:25 +02:00
Dockerfile fix: dockerfile issue 2022-10-08 02:15:52 +02:00
Dockerfile.dev fix: add make dependency in dockerfile 2022-10-05 23:39:38 +02:00
jest.config.js Test app configs 2022-05-24 18:45:16 +02:00
LICENSE Create LICENSE 2022-04-22 10:22:43 +00:00
package.json fix: release tests 2022-10-07 13:36:29 +02:00
pnpm-lock.yaml fix: fetcher [skip ci] 2022-10-07 22:50:02 +02:00
pnpm-workspace.yaml Switch to PNPM Workspaces for internal packages management 2022-05-07 08:03:22 +00:00
README.md docs: precise settings.json instructions [skip ci] 2022-10-10 19:32:55 +00:00
sonar-project.properties ADD: sonar-project.properties file 2022-07-05 11:42:49 +02:00
tsconfig.json Test app configs 2022-05-24 18:45:16 +02:00

Tipi — A personal homeserver for everyone

All Contributors

License Version Issues Docker Pulls Docker Image Size Build codecov

Join the discussion

Discord Matrix

Preview

⚠️ Tipi is still at an early stage of development and issues are to be expected. Feel free to open an issue or pull request if you find a bug.

Tipi is a personal homeserver orchestrator. It is running docker containers under the hood and provides a simple web interface to manage them. Every service comes with an opinionated configuration in order to remove the need for manual configuration and network setup.

Check our demo instance : demo.runtipi.com / username: user@runtipi.com / password: runtipi

Apps available

  • Adguard Home - Adguard Home DNS adblocker
  • Booksonic - A server for streaming your audiobooks
  • Calibre-Web - Web Ebook Reader
  • Code-Server - Web VS Code
  • Filebrowser - Web File Browser
  • Firefly III - A personal finances manager
  • Freshrss - A free, self-hostable RSS aggregator
  • Gitea - Gitea - A painless self-hosted Git service
  • Ghost - Ghost - Turn your audience into a business
  • Homarr - A homepage for your server
  • Home Assistant - Open source home automation that puts local control and privacy first
  • Invidious - An alternative front-end to YouTube
  • Jackett - API Support for your favorite torrent trackers
  • Jellyfin - A media server for your home collection
  • Joplin - Privacy focused note-taking app
  • Libreddit - Private front-end for Reddit
  • Mealie - Self-hosted recipe manager and meal planner.
  • n8n - Workflow Automation Tool
  • Nextcloud - A safe home for all your data
  • Nitter - Alternative Twitter front-end
  • Node-RED - Low-code programming for event-driven applications
  • Overseerr - Request management and media discovery tool for the Plex ecosystem
  • Photoprism - AI-Powered Photos App for the Decentralized Web. We are on a mission to protect your freedom and privacy.
  • Pihole - A black hole for Internet advertisements
  • Plex - Stream Movies & TV Shows
  • Portainer - Making Docker and Kubernetes management easy.
  • Prowlarr - A torrent/usenet indexer manager/proxy
  • Radarr - Movie collection manager for Usenet and BitTorrent users
  • Readarr - Book Manager and Automation (Sonarr for Ebooks)
  • Resilio Sync - Fast, reliable, and simple file sync and share solution
  • Sonarr - TV show manager for Usenet and BitTorrent
  • Syncthing - Continuous File Synchronization
  • Tailscale - The easiest, most secure way to use WireGuard and 2FA
  • Tautulli - A Python based monitoring and tracking tool for Plex Media Server
  • Transmission - Fast, easy, and free BitTorrent client
  • Wireguard Easy - WireGuard VPN + Web-based Admin UI
  • Vaultwarden - Unofficial Bitwarden compatible server

You can find and submit new apps inside of the RunTipi Appstore.

🛠 Installation

Installation Requirements

Ubuntu 18.04 LTS or higher is recommended. However other major Linux distribution are supported but may lead to installation issues. Please file an issue if you encounter one.

Step 1. Download Tipi

Run this in an empty directory where you want to install Tipi.

git clone https://github.com/meienberger/runtipi.git

Step 2. Run Tipi

cd into the downloaded directory and run the start script.

cd runtipi
sudo ./scripts/start.sh

The script will prompt you the ip address of the dashboard once configured. Tipi will run by default on port 80. To select another port you can run the start script with the --port argument

sudo ./scripts/start.sh --port 7000

To stop Tipi, run the stop script.

sudo ./scripts/stop.sh

Custom settings

You can change the default settings by creating a settings.json file. The file should be located in the state directory. This file will make your changes persist across restarts. Example file with all possible values:

{
  "dnsIp": "9.9.9.9", // DNS IP address
  "domain": "mydomain.com", // Domain name to link to the dashboard
  "port": 7000, // Change default http port 80
  "sslPort": 7001, // Change default ssl port 443
  "listenIp": "192.168.1.1", // Change default listen ip (advanced)
  "storagePath": "/mnt/usb", // Change default storage path of app data
}

Linking a domain to your dashboard

If you want to link a domain to your dashboard, you can do so by providing the --domain option in the start script.

sudo ./scripts/start.sh --domain mydomain.com

You can also specify it in the settings.json file as shown in the previous section.

A Let's Encrypt certificate will be generated and installed automatically. Make sure to have ports 80 and 443 open on your firewall and that your domain has an A record pointing to your server IP.

❤️ Contributing

Tipi is made to be very easy to plug in new apps. We welcome and appreciate new contributions.

If you want to add a new app or feature, you can follow the Contribution guide for instructions on how to do so.

📜 License

License

Tipi is licensed under the GNU General Public License v3.0. TL;DR — You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.

The bash scripts app.sh contained in the scripts folder contains some snippets from Umbrel's code. Therefore some parts of the code are licensed under the PolyForm Noncommercial License 1.0.0 license. You can for now consider the whole file under this license. We are actively working on re-writing those parts in order to make them available under the GPL license like the rest of our code.

🗣 Community

Contributors

Thanks goes to these wonderful people (emoji key):


Nicolas Meienberger

💻 🚇 ⚠️ 📖

ArneNaessens

💻 🤔 ⚠️

DrMxrcy

💻 🤔 ⚠️

Cooper

💻

JTruj1ll0923

💻

Stetsed

💻

Jones_Town

💻

Rushi Chaudhari

💻

Robert Blaine

💻

Seth For Privacy

💻

Prajna

💻

Justin Moy

💻

dextreem

💻

This project follows the all-contributors specification. Contributions of any kind welcome!