Tipi is a homeserver for everyone! One command setup, one click installs for your favorites self-hosted apps.
Find a file
2023-07-17 19:01:21 +02:00
.devcontainer feat: adding config for codespaces 2023-01-25 20:28:36 +01:00
.github ci: fix un-needed download-artifact 2023-06-28 18:47:18 +02:00
__mocks__ feat: add APP_HOST variable and refactor fs mocks with memfs 2023-07-06 00:44:49 +02:00
e2e test: add e2e suite for change password and language selector 2023-06-08 00:24:36 +02:00
public fix: hide open with internal ip if force_expose is true 2023-06-18 18:21:36 +02:00
screenshots [ImgBot] Optimize images 2022-12-20 22:24:41 +01:00
scripts fix(install.sh): incorrect condition not copying traefik cert correctly 2023-06-28 23:30:12 +02:00
src New translations en.json (Greek) 2023-07-17 18:59:56 +02:00
templates feat: generate self signed ssl cert on app start 2023-06-07 23:51:18 +02:00
tests feat: add APP_HOST variable and refactor fs mocks with memfs 2023-07-06 00:44:49 +02:00
traefik feat: generate self signed ssl cert on app start 2023-06-07 23:51:18 +02:00
.all-contributorsrc docs: add M1n-4d316e as a contributor for translation (#564) 2023-06-29 08:56:06 +02:00
.dockerignore ci: fix dockerfile to copy tests folder 2023-06-28 22:46:18 +02:00
.env.example feat: generate self signed ssl cert on app start 2023-06-07 23:51:18 +02:00
.env.test test: install vite and create base config for server testing 2023-06-28 09:01:41 +02:00
.eslintignore Release/1.0.0 (#316) 2023-03-02 20:19:20 +01:00
.eslintrc.js feat: add APP_HOST variable and refactor fs mocks with memfs 2023-07-06 00:44:49 +02:00
.gitignore feat: generate self signed ssl cert on app start 2023-06-07 23:51:18 +02:00
.prettierrc.js Release/1.0.0 (#316) 2023-03-02 20:19:20 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2022-05-13 14:04:16 +00:00
codecov.yml test: ignore tests folder in codecov 2023-06-28 09:01:41 +02:00
crowdin.yml feat: setup next-intl with initial page props 2023-05-09 08:29:35 +02:00
docker-compose.dev.yml feat: download certificate for local domain 2023-06-07 23:51:18 +02:00
docker-compose.e2e.yml feat: download certificate for local domain 2023-06-07 23:51:18 +02:00
docker-compose.rc.yml feat: add docker healthcheck to redis service 2023-04-13 08:43:42 +02:00
docker-compose.test.yml ci: create playwright tests workflow 2023-06-03 19:18:18 +02:00
docker-compose.yml feat: download certificate for local domain 2023-06-07 23:51:18 +02:00
Dockerfile ci: fix dockerfile to copy tests folder 2023-06-28 22:46:18 +02:00
Dockerfile.dev chore: bump node version to 18.16-alpine3.18 2023-06-10 11:15:35 +02:00
esbuild.js fix(server): require next server 2023-05-21 08:25:26 +02:00
global.d.ts feat: setup next-intl with initial page props 2023-05-09 08:29:35 +02:00
jest.config.ts feat: add APP_HOST variable and refactor fs mocks with memfs 2023-07-06 00:44:49 +02:00
LICENSE Create LICENSE 2022-04-22 10:22:43 +00:00
next-env.d.ts Release/1.0.0 (#316) 2023-03-02 20:19:20 +01:00
next.config.mjs Release/1.0.0 (#316) 2023-03-02 20:19:20 +01:00
nodemon.json fix(events): correctly assign global.eventdispatcher 2023-03-06 00:03:41 +01:00
package.json feat: add APP_HOST variable and refactor fs mocks with memfs 2023-07-06 00:44:49 +02:00
playwright.config.ts tests(e2e): refactor register user to insert directly in db 2023-06-03 19:18:18 +02:00
pnpm-lock.yaml feat: add APP_HOST variable and refactor fs mocks with memfs 2023-07-06 00:44:49 +02:00
README.md docs: update README.md [skip ci] 2023-07-17 19:01:21 +02:00
reset.d.ts chore: create ts path aliases and add ts-reset 2023-03-28 22:44:03 +02:00
sonar-project.properties Release/1.0.0 (#316) 2023-03-02 20:19:20 +01:00
tsconfig.json test: re-create mocks for drizzle, fs-extra and redis using vi.mock 2023-06-28 09:01:41 +02:00
vitest.workspace.ts test: install vite and create base config for server testing 2023-06-28 09:01:41 +02:00

Tipi — A personal homeserver for everyone

All Contributors

License Version Issues Docker Pulls Docker Image Size Build codecov Crowdin

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 that makes it easy to manage and run multiple services on a single server. It is based on Docker and comes with a simple web interface to manage your services. Tipi is designed to be easy to use, so you don't have to worry about manual configuration or networking. Simply install Tipi on your server and use the web interface to add and manage services. You can see a list of available services in the App Store repo and request new ones if you don't see what you need. To get started, follow the installation instructions below.

Getting started

Visit our website runtipi.io for installation instructions, documentation and guides.

Demo

You can try out a demo of Tipi at demo.runtipi.io using the following credentials:

username: user@runtipi.io
password: password

📚 Documentation

For a detailed guide on how to install Tipi. This amazing article by @kycfree Running a Home Server with Tipi

You can find more documentation and tutorials / FAQ on runtipi.io

❤️ 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.

We are looking for contributions of all kinds. If you know design, development, or have ideas for new features, please get in touch.

📜 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.

Some of the bash scripts located in the scripts folder contain some snippets from Umbrel's code. Therefore some parts of the code are licensed under the PolyForm Noncommercial License 1.0.0 license. These parts have been marked with a comment above to clearly identify it. If you were to use this code in your own project, you have to keep the copyright notice and follow the license guidelines. 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
Nicolas Meienberger

💻 🚇 ⚠️ 📖
ArneNaessens
ArneNaessens

💻 🤔 ⚠️
DrMxrcy
DrMxrcy

💻 🤔 ⚠️ 🖋 📣 💬 👀
Cooper
Cooper

💻
JTruj1ll0923
JTruj1ll0923

💻
Stetsed
Stetsed

💻
Jones_Town
Jones_Town

💻
Rushi Chaudhari
Rushi Chaudhari

💻
Robert Blaine
Robert Blaine

💻
Seth For Privacy
Seth For Privacy

💻
Prajna
Prajna

💻
Justin Moy
Justin Moy

💻
dextreem
dextreem

💻
Brahim Hadriche
Brahim Hadriche

💻
Andrew Brereton
Andrew Brereton

🖋
Freddie Sackur
Freddie Sackur

💻 📖
Innocentius
Innocentius

🌍
Alex
Alex

💻
Ryan Wang
Ryan Wang

💻
simonandr
simonandr

🖋
iepure
iepure

🌍
Sergey Kodolov
Sergey Kodolov

🌍 💻
sclaren
sclaren

💻
mcmeel
mcmeel

💬 🤔 💻 📖
NoisyFridge
NoisyFridge

🌍
Bvoxl
Bvoxl

🌍
m-lab-0
m-lab-0

🌍
dannkunt
dannkunt

🌍
Schmanko
Schmanko

🌍
Nghia Lele
Nghia Lele

🌍
amusingimpala75
amusingimpala75

💻
David
David

🌍
Stavros Iliopoulos
Stavros Iliopoulos

🌍

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