DevRel, OpenSource, InnerSource Community Platform
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.
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.
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:devOpen http://localhost:8080.
For local auth in dev mode, you can use:
user@example.com / userpassadmin@example.org / adminpass
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
dockeralias)
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 packageThe 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-21Override the image or port with DEV_CONTAINER_IMAGE and DEV_CONTAINER_PORT.
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:latestYou 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.0Build a JVM image with the project Dockerfile:
docker build -f quarkus-app/src/main/docker/Dockerfile.jvm \
-t homedir:local \
quarkus-appRun it:
docker run --rm --name homedir-local \
-p 8080:8080 \
--env-file ./.env.homedir \
-v "$(pwd)/.data:/work/data" \
homedir:localPush 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>Canonical documentation language: English. Spanish documentation is maintained as a mirror (full translation or stub).
- English Documentation
- Documentación en Español
- Documentation Language Policy
- Release Stage Gates (Alpha -> Beta -> RC -> GA)
Platform deployment notes:
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.
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?
- Look for issues with bounty labels (e.g., #1374)
- Submit quality issues for validation
- Resolve labeled issues via PRs
- Track your progress via the API
Note: Dashboard UI is coming soon! See #1375 to contribute to the frontend.
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!
Thanks to all our amazing contributors who make this project possible!
We follow the All Contributors specification. Contributions of any kind are welcome and recognized!
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.
We take security seriously. Please see our Security Policy for responsible disclosure guidelines and security contact information.
Homedir: Where code finds its home.