Tipi is a homeserver for everyone! One command setup, one click installs for your favorites self-hosted apps.
Find a file
2023-11-27 08:19:22 +01:00
.devcontainer chore: rename all reference of personal github account to new organization 2023-10-12 21:16:37 +02:00
.github ci(beta): adapt workflow with new worker build 2023-11-27 07:42:36 +01:00
__mocks__ refactor: export TipiCache as a non-instantiated class 2023-08-28 22:01:40 +02:00
e2e test(e2e): add suite for changing email 2023-11-03 21:49:46 +01:00
packages feat(support-repoURL-with-branch-syntax): If a appstore repo URL contains a branch, checkout that branch 2023-11-27 08:19:22 +01:00
patches chore: apply next-safe-action patch 2023-10-12 22:26:34 +02:00
public feat(ThemeProvider): add some magic 2023-11-27 07:42:36 +01:00
screenshots [ImgBot] Optimize images 2022-12-20 20:41:25 +01:00
scripts fix(cli): ensure user is allowed to run docker commands before starting 2023-11-16 20:49:27 +01:00
src fix(app-status): rely on server status after update 2023-11-27 08:10:29 +01:00
tests chore: cleanup trpc related code 2023-10-07 10:38:42 +02:00
.all-contributorsrc docs: update .all-contributorsrc [skip ci] 2023-11-18 10:36:11 +01:00
.dockerignore ci: fix dockerfile to copy tests folder 2023-06-28 22:46:18 +02:00
.env.example chore: rename all reference of personal github account to new organization 2023-10-12 21:16:37 +02:00
.env.test refactor: move db migrations in cli start command 2023-08-28 20:23:51 +02:00
.eslintignore refactor: translate bash scripts to node in packages/cli 2023-08-16 21:53:59 +02:00
.eslintrc.js refactor: remove usages of singletons and optimize redis connections count 2023-09-05 22:33:24 +02:00
.gitignore fix(worker): docker not throwing an error when failing to start 2023-11-16 20:49:27 +01:00
.prettierrc.js refactor: move dashboard files in root folder 2023-02-20 08:41:59 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2022-05-13 14:04:16 +00:00
codecov.yml ci: enable informational mode in codecov 2023-09-02 22:03:39 +02:00
crowdin.yml feat: setup next-intl with initial page props 2023-05-09 08:29:35 +02:00
docker-compose.dev.yml refactor(worker): no need to mount host 2023-11-23 07:47:22 +01:00
docker-compose.prod.yml refactor(worker): no need to mount host 2023-11-23 07:47:22 +01:00
Dockerfile refactor(docker): use non-root user in dashboard image 2023-11-27 07:42:36 +01:00
Dockerfile.dev chore: patch next-safe-action with onExecute callback 2023-10-03 08:49:55 +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 feat(apps): add "enable on guest dashboard option" 2023-11-02 19:04:57 +01:00
next.config.mjs chore(deps): bump next to v14 2023-11-03 21:49:46 +01:00
package.json feat(ThemeProvider): add some magic 2023-11-27 07:42:36 +01: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(ThemeProvider): add some magic 2023-11-27 07:42:36 +01:00
pnpm-workspace.yaml feat: create new cli package 2023-08-16 21:53:59 +02:00
README.md docs: update README.md [skip ci] 2023-11-18 10:36:11 +01:00
reset.d.ts chore: create ts path aliases and add ts-reset 2023-03-28 22:44:03 +02:00
sonar-project.properties refactor: move dashboard files in root folder 2023-02-20 08:41:59 +01:00
tsconfig.json feat: move login page to RSC 2023-09-18 19:35:36 +02:00
vitest.workspace.ts chore: add local prod script 2023-10-11 21:22:57 +02:00

Tipi — A personal homeserver for everyone

All Contributors

License Version Issues Docker Pulls Docker Image Size Build Crowdin

💡 Tipi is built with TypeScript, Next.js app router and Drizzle ORM! If you want to collaborate on a cool project, join the discussion on Discord!

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.

🗣 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

🌍 💻 ⚠️
loxiry
loxiry

🌍
JigSaw
JigSaw

💻
DireMunchkin
DireMunchkin

💻
Fabio Cingottini
Fabio Cingottini

🌍
him
him

💻
CHALOPIN Clément
CHALOPIN Clément

💻
Geetansh Jindal
Geetansh Jindal

💻

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