Skip to content
This repository was archived by the owner on Feb 27, 2026. It is now read-only.

Commit ca7bdef

Browse files
committed
Merge branch 'main' of github.com:kyantech/Palmr
2 parents 92b437e + 1768aa8 commit ca7bdef

1 file changed

Lines changed: 41 additions & 33 deletions

File tree

README.md

Lines changed: 41 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,64 @@
1-
# Palmr.
1+
# 🌴 Palmr. - Open-Source File Transfer
22

3-
Com a visão de simplificar a execução do projeto e permitir que ele seja executado em qualquer máquina, foi criado um script de inicialização para o docker compose.é necessário ter o docker e docker compose instalados para executar o projeto da maneira que vamos propor a seguir. Essa é a maneira mais simplificada de executar o projeto, porém não é a maneira recomendada para o modo de produção.
3+
<p align="center">
4+
<img src="https://github.com/user-attachments/assets/dc2a105a-e66b-4db5-b56c-87d872a1edf8" alt="Palmr Logo" style="width: 100%;">
5+
</p>
46

5-
Temos duas maneiras de executar esse script, a primeira delas é executando o script via make file, e a segunda é executando o script diretamente.
6-
Para executar via Make file, basta executar o comando abaixo:
7+
**Palmr.** is a **flexible** and **open-source** alternative to file transfer services like **WeTransfer**, **SendGB**, **Send Anywhere**, and **Files.fm**.
78

8-
make gen-compose
99

10-
Esse comando irá gerar o arquivo docker-compose.yml na raiz do projeto. Ele tem a principal funcionalidade de gerar senhas seguras para nosso Minio e Postgres. que são nossos object storage e banco de dados respectivamente.
10+
🔗 **For detailed documentation visit:** [Palmr. - Documentation](https://palmr-docs.kyantech.com.br)
1111

12-
O compose gerado é uma base e pode ser modificado a qualquer momento por você. Vale lembrar que ele é escrito para executar em seu ambiente local via localhost e não para produção ou ambientes de VPS. Mas o mesmo após gerado pode ser modificado e/ou desmembrado para ser hospedado em qualquer lugar
12+
## 📌 Why Choose Palmr.?
1313

14-
A segunda maneira de executar o script é executando o comando abaixo:
14+
- **Self-hosted** – Deploy on your own server or VPS.
15+
- **Full control** – No third-party dependencies, ensuring privacy and security.
16+
- **No artificial limits** – Share files without hidden restrictions or fees.
1517

16-
chmod +x ./scripts/generate-docker-compose.sh
17-
./scripts/generate-docker-compose.sh
18+
## 🚀 Technologies Used
1819

19-
esse conjunto de comandos surgem com o mesmo efeito do make gen-compose.
20+
### **Palmr.** is built with a focus on **performance**, **scalability**, and **security**.
2021

21-
para executar o projeto após gerar o seu docker-compose.yaml basta executar o comando abaixo na raiz do projeto:
22+
<div align="center">
23+
<img src="https://i.ibb.co/3Y8bhm7v/Captura-de-Tela-2025-04-03-s-10-56-12.png" style="width: 100%; border-radius: 15px;" />
24+
</div>
2225

23-
docker compose up -d
2426

25-
e para acessar o palmr, em ambnte local basta acessar http://localhost:4173
27+
### **Backend & API**
28+
- **Fastify (Node.js)** – High-performance API framework with built-in schema validation.
29+
- **PostgreSQL** – Reliable, secure, and scalable database solution.
30+
- **MinIO (Object Storage)** – AWS S3-compatible storage for high availability.
2631

27-
Para rodar em ambiente de produção, recomendamos utilizar Kubernetes, Docker Swarm ou algum orquestrador de containers similar. Para rodar localmente em sua máquina ou em algum ambiente de testes, você pode utilizar o Docker Compose com o arquivo docker-compose.yaml, que busca as imagens mais recentes do Palmr no Docker e as disponibiliza em algumas portas específicas, sendo elas:
32+
### **Frontend**
33+
- **React + TypeScript + Vite** – Modern, interactive, and fast web interface.
2834

29-
* Frontend: http://localhost:4173
30-
* Backend: http://localhost:3333
31-
* MinIO API: http://localhost:9000
32-
* MinIO Painel: http://localhost:9001
33-
* Database Postgres: http://localhost:5423
3435

35-
Recomendamos que, nesta versão do docker-compose.yaml, nenhuma das portas de funcionamento do frontend e backend seja alterada. Consequentemente, nenhuma das URLs deve ser modificada, pois a imagem do frontend contém uma versão buildada configurada para funcionar na porta 4173, e, por motivos técnicos relacionados ao ReactJS, variáveis de ambiente que são executadas em runtime não podem ser alteradas. Por esse motivo, para garantir o bom funcionamento do sistema como foi planejado, mantenha o docker-compose.yaml inalterado.
36+
## 🛠️ How It Works
3637

37-
Caso queira fazer alterações nas portas em ambiente local e executar o projeto via Docker com Docker Compose, recomendamos o uso do arquivo docker-compose-dev.yaml, que faz a build com base nos arquivos do repositório clonado. No entanto, certifique-se de fazer todas as configurações corretas de portas e URLs, pois, caso contrário, o Palmr não irá funcionar como planejado para ser executado.
38+
1. **Web Interface** → Built with React, TypeScript, and Vite for a seamless user experience.
39+
2. **Backend API** → Fastify handles requests and interacts with storage.
40+
3. **Database** → PostgreSQL stores metadata and transactional data.
41+
4. **Storage** → MinIO ensures reliable file storage and retrieval.
3842

39-
Não recomendamos de maneira alguma o uso do docker-compose.yaml para ambientes produtivos ou em VPS, pois a tecnologia Docker Compose foi pensada para ambientes de desenvolvimento.
40-
O que mais recomendamos para produção é o uso de Kubernetes, que deve ser configurado manualmente, pois o repositório não contém um modelo pronto para essa configuração. Outra maneira de colocar o software em ambiente produtivo é utilizando serviços separados, como, por exemplo:
4143

42-
* Hospedar o frontend na Vercel ou AWS Amplify.
43-
* Hospedar o backend na Render.com ou serviços similares.
44-
* Subir o MinIO separadamente em um servidor via Docker ou utilizar um serviço compatível com S3.
45-
* Hospedar o banco de dados em um serviço como o Neon.tech.
44+
## 👨‍💻 Core Maintainers
4645

47-
O código é totalmente aberto, e você pode escolher a melhor maneira para fazer o deploy, mas atente-se às variáveis de ambiente (environment variables). A ideia de termos um docker-compose.yaml é apenas para facilitar o uso, a execução e os testes.
46+
| **Daniel Luiz Alves** |
47+
|------------------|
48+
| <img src="https://github.com/danielalves96.png" width="150px" alt="Daniel Luiz Alves" /> |
4849

50+
</br>
4951

50-
na pasta composes temos a versão que usa o código local ao invés de buscar nossas imagens no docker hub.
52+
## ⭐ Star History
5153

52-
para executar essa versão, na raiz do projeto voce pode executar:
54+
<a href="https://www.star-history.com/#kyantech/Palmr&Date">
55+
<picture>
56+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=kyantech/Palmr&type=Date&theme=dark" />
57+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=kyantech/Palmr&type=Date" />
58+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=kyantech/Palmr&type=Date" />
59+
</picture>
60+
</a>
5361

54-
cp ./composes/docker-compose-local.yaml ./docker-compose.yaml
62+
## 🛠️ Contributing
5563

56-
e executar docker compose up -d
64+
For contribution guidelines, please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) file.

0 commit comments

Comments
 (0)