Add Habitica entry to meta.json (#228)

* Add Habitica entry to meta.json

- Introduced Habitica, a productivity app that gamifies habit tracking, with a detailed description, logo, and relevant links.
- Updated tag formatting for consistency across entries.

* Add GitLab CE entry to meta.json

- Introduced GitLab Community Edition with a detailed description, logo, and relevant links.
- Updated tag formatting for consistency across entries.

* Refactor Habitica blueprint to use client-server architecture with MongoDB volume and simplified email configuration
This commit is contained in:
Jainil Prajapati 🪐
2025-07-28 10:21:55 +05:30
committed by GitHub
parent 05c014b26b
commit 8b23ad129f
4 changed files with 84 additions and 5 deletions

View File

@@ -0,0 +1,33 @@
version: "3.8"
services:
server:
image: docker.io/awinterstein/habitica-server:latest
restart: unless-stopped
depends_on:
- mongo
environment:
- NODE_DB_URI=mongodb://mongo/habitica
client:
image: docker.io/awinterstein/habitica-client:latest
restart: unless-stopped
depends_on:
- server
ports:
- "80"
mongo:
image: docker.io/mongo:latest
restart: unless-stopped
command: ["--replSet", "rs", "--bind_ip_all", "--port", "27017"]
healthcheck:
test: echo "try { rs.status() } catch (err) { rs.initiate() }" | mongosh --port 27017 --quiet
interval: 10s
timeout: 30s
retries: 30
volumes:
- habitica-mongo-data:/data/db
volumes:
habitica-mongo-data: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,24 @@
[variables]
main_domain = "${domain}"
mail_password = "${password:32}"
[config]
[[config.domains]]
serviceName = "client"
port = 80
host = "habitica.${main_domain}"
[config.env]
BASE_URL="https://habitica.${main_domain}"
INVITE_ONLY="false"
EMAIL_SERVER_URL="mail.example.com"
EMAIL_SERVER_PORT="587"
EMAIL_SERVER_AUTH_USER="mail_user"
EMAIL_SERVER_AUTH_PASSWORD="${mail_password}"
[[config.mounts]]
serviceName = "mongo"
type = "volume"
source = "habitica-mongo-data"
target = "/data/db"

View File

@@ -345,6 +345,19 @@
"project-management"
]
},
{
"id": "gitlab-ce",
"name": "GitLab CE",
"version": "latest",
"description": "GitLab Community Edition is a free and open source platform for managing Git repositories, CI/CD pipelines, and project management.",
"logo": "gitlab-ce.svg",
"links": {
"github": "https://gitlab.com/gitlab-org/gitlab-ce",
"website": "https://gitlab.com/",
"docs": "https://docs.gitlab.com/ee/"
},
"tags": ["git", "ci-cd", "version-control", "project-management"]
},
{
"id": "ghost",
"name": "Ghost",
@@ -1129,6 +1142,19 @@
"manager"
]
},
{
"id": "habitica",
"name": "Habitica",
"version": "latest",
"description": "Habitica is a free habit and productivity app that treats your real life like a game. With in-game rewards and punishments to motivate you and a strong social network to inspire you, Habitica can help you achieve your goals to become healthy and hard-working.",
"logo": "image.png",
"links": {
"github": "https://github.com/HabitRPG/habitica",
"website": "https://habitica.com/",
"docs": "https://habitica.fandom.com/wiki/Setting_up_Habitica_Locally"
},
"tags": ["productivity", "gamification", "habits", "self-hosted"]
},
{
"id": "hoarder",
"name": "Hoarder",
@@ -3448,11 +3474,7 @@
"website": "https://www.filestash.app/",
"docs": "https://www.filestash.app/docs/"
},
"tags": [
"file-manager",
"document-editor",
"self-hosted"
]
"tags": ["file-manager", "document-editor", "self-hosted"]
},
{
"id": "mazanoke",