diff --git a/blueprints/habitica/docker-compose.yml b/blueprints/habitica/docker-compose.yml new file mode 100644 index 00000000..af226516 --- /dev/null +++ b/blueprints/habitica/docker-compose.yml @@ -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: {} diff --git a/blueprints/habitica/image.png b/blueprints/habitica/image.png new file mode 100644 index 00000000..46bbc6e1 Binary files /dev/null and b/blueprints/habitica/image.png differ diff --git a/blueprints/habitica/template.toml b/blueprints/habitica/template.toml new file mode 100644 index 00000000..3888ae24 --- /dev/null +++ b/blueprints/habitica/template.toml @@ -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" \ No newline at end of file diff --git a/meta.json b/meta.json index 928546d9..c8188f3c 100644 --- a/meta.json +++ b/meta.json @@ -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",