Skip to content

Latest commit

 

History

2,341 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Homedir

DevRel, OpenSource, InnerSource Community Platform

Maven Central License: Apache-2.0 Contributors GitHub Stars PR Validation PR CI Build PR Quality Coverage Language Last Commit Version Maven Version Discord Repo Size Project Status: Active

CodeRabbit Pull Request Reviews

Homedir is a Quarkus-based community platform for DevRel/Open Source initiatives, combining Community Picks, Events, Projects, CFP workflows, GitHub Trending repositories, and contributor identity integrations (GitHub/Discord/Google login) in a single product.

Repository Layout

  • quarkus-app/: main Quarkus application (backend + templates + static assets).
  • docs/: product and technical documentation (EN/ES).
  • config/: governance documentation (labels, branch protection, priorities).
  • platform/: VPS deployment scripts, env template, systemd/nginx assets.
  • scripts/: shared CI/ops scripts (versioning, tests, i18n validation).
  • deployment/: deployment and orchestration assets.
  • container/: container build assets.
  • modules/: optional modular prototypes/proposals.
  • src/: support tooling (e.g., Python worker).
  • tests/: Playwright E2E and JS unit tests.
  • tools/community-curator/: curated content generation and deployment tooling.

Getting Started

1) Run locally with Quarkus (Developer Mode)

Prerequisites:

  • JDK 21
  • Maven 3.9+ (or use the included Maven Wrapper)
git clone https://github.com/os-santiago/homedir.git
cd homedir
mvn -f quarkus-app/pom.xml quarkus:dev

Open http://localhost:8080.

For local auth in dev mode, you can use:

  • user@example.com / userpass
  • admin@example.org / adminpass

2) Run in a container (no JDK required)

If you prefer not to install JDK 21 and Maven on your machine, scripts/dev-container.sh runs the same developer mode inside a disposable container. Edit files with your usual editor on the host; Quarkus live reload picks the changes up.

Prerequisites:

  • Docker (or Podman with a docker alias)
scripts/dev-container.sh              # dev mode with live reload on http://localhost:8080
scripts/dev-container.sh test         # run the test suite
scripts/dev-container.sh clean package

The dependency cache is kept in .tmp/m2 inside the repository (git-ignored) rather than in ~/.m2, so nothing is written outside the project. To remove every trace:

rm -rf .tmp/m2 .tmp/maven-home quarkus-app/target
docker rmi maven:3.9-eclipse-temurin-21

Override the image or port with DEV_CONTAINER_IMAGE and DEV_CONTAINER_PORT.

3) Run using public Quay images

Public image repository:

  • quay.io/sergio_canales_e/homedir

Tags published by release pipeline:

  • latest
  • semantic tags like 3.630.0 (see Releases)

Create an env file from platform/env.example and fill required values (do not commit secrets), then run:

docker run --rm --name homedir \
  -p 8080:8080 \
  --env-file ./.env.homedir \
  -v "$(pwd)/.data:/work/data" \
  quay.io/sergio_canales_e/homedir:latest

You can pin a specific release tag:

docker run --rm --name homedir \
  -p 8080:8080 \
  --env-file ./.env.homedir \
  -v "$(pwd)/.data:/work/data" \
  quay.io/sergio_canales_e/homedir:3.630.0

4) Build your own image from source

Build a JVM image with the project Dockerfile:

docker build -f quarkus-app/src/main/docker/Dockerfile.jvm \
  -t homedir:local \
  quarkus-app

Run it:

docker run --rm --name homedir-local \
  -p 8080:8080 \
  --env-file ./.env.homedir \
  -v "$(pwd)/.data:/work/data" \
  homedir:local

Push your own image to Quay:

docker login quay.io
docker tag homedir:local quay.io/<your-namespace>/homedir:<tag>
docker push quay.io/<your-namespace>/homedir:<tag>

Documentation

Canonical documentation language: English. Spanish documentation is maintained as a mirror (full translation or stub).

Platform deployment notes:

Contributing

We welcome contributions! This project is built on voluntary contributions and serves as a learning and practice space for the community.

Please see our Contributing Guidelines for details on how to get started, our development workflow, and contribution guidelines.

For information about project governance and how to become a maintainer, see GOVERNANCE.md.

🏆 Bounty Hunters Program

Homedir includes a Bounty Hunters reputation system that rewards contributors for creating valuable issues and resolving them through pull requests.

📚 Learning & Practice Space: This is an open source project built on voluntary contributions as a learning and practice opportunity for the community. The Bounty Hunters program is a meritocracy and gamification system to recognize and celebrate contributors, not a payment or monetary reward program.

How it works:

  • Create valuable issues → Get points when validated by admins
  • Resolve issues → Earn points when your PR is merged
  • Level up → Unlock exclusive frames and recognition

Eligible Labels & Points:

Label Points Type
bug-impact-low 5 pts Bug fixes
bug-impact-medium 15 pts Bug fixes
bug-impact-high 30 pts Bug fixes
feature-request 20 pts Features
documentation-improvement 10 pts Documentation
platform-maintenance 15 pts Maintenance

Progression Levels:

  • 🥉 Novice (50+ pts) → Basic frame
  • 🥈 Experienced (150+ pts) → Enhanced frame
  • 🥇 Professional (400+ pts) → Professional frame
  • 💎 Ultimate (800+ pts) → Ultimate frame
  • Transcendental (1500+ pts) → Transcendental frame

API Endpoints:

GET /api/bounty-hunters/leaderboard?limit=50
GET /api/bounty-hunters/profile/{userId}
GET /api/bounty-hunters/config/labels
GET /api/bounty-hunters/config/levels

Want to participate?

  1. Look for issues with bounty labels (e.g., #1374)
  2. Submit quality issues for validation
  3. Resolve labeled issues via PRs
  4. Track your progress via the API

Note: Dashboard UI is coming soon! See #1375 to contribute to the frontend.

Team

👥 Maintainers

The project is maintained by the @os-santiago/core-devs team:

Maintainer GitHub Role
Sergio Canales @scanales-stack Lead Maintainer

Interested in becoming a maintainer? Check our Governance Guidelines to learn about the path to maintainer status.

Want to show your support? If you're a member of the organization, make your membership public to display the Open Source Santiago badge on your profile!

✨ Contributors

Thanks to all our amazing contributors who make this project possible!

Contributors

We follow the All Contributors specification. Contributions of any kind are welcome and recognized!

Code of Conduct

We are committed to fostering a welcoming and inclusive community. Please read our Code of Conduct to understand the standards of behavior we expect from all community members.

Security

We take security seriously. Please see our Security Policy for responsible disclosure guidelines and security contact information.


Homedir: Where code finds its home.

Releases

Packages

Used by

Contributors

Languages