awinterstein/habitica-client

By awinterstein

Updated 4 days ago

Web component for self-hosting of Habitica.

Image
Integration & delivery
2

10K+

awinterstein/habitica-client repository overview

Self-hosting Habitica

This container can be used for self-hosting an instance of Habitica. It contains the web component, and needs the server component and a MongoDB database in addition.

Source Code

Some adaptions for self-hosting and the declarations of the Docker containers are managed in a Github repository. Check it out for more documentation and for the build of the container images.

Docker Compose

A complete setup with Docker Compose can look like this:

version: "3"
services:
  services:
  server:
    image: docker.io/awinterstein/habitica-server:latest
    restart: unless-stopped
    depends_on:
      - mongo
    environment:
      - NODE_DB_URI=mongodb://mongo/habitica # this only needs to be adapted if using a separate database
      - BASE_URL=http://127.0.0.1:3000 # change this to the URL under which your instance will be reachable
      - INVITE_ONLY=false # change to `true` after registration of initial users, to restrict further registrations
      - EMAIL_SERVER_URL=mail.example.com
      - EMAIL_SERVER_PORT=587
      - EMAIL_SERVER_AUTH_USER=mail_user
      - EMAIL_SERVER_AUTH_PASSWORD=mail_password
    ports:
      - "3000:3000"
    networks:
      - habitica
  client:
    image: docker.io/awinterstein/habitica-client:latest
    restart: unless-stopped
    depends_on:
      - server
    networks:
      - habitica
    ports:
      - "8080:80"
  mongo:
    image: docker.io/mongo:5.0
    restart: unless-stopped
    hostname: mongo
    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
      start_period: 0s
      start_interval: 1s
      retries: 30
    volumes:
      - ./db:/data/db:rw
      - ./dbconf:/data/configdb
    networks:
      habitica:
        aliases:
          - mongo
networks:
  habitica:
    driver: bridge

Habitica can be reached on http://localhost:8080 then.

Tag summary

Content type

Image

Digest

sha256:1a165a8d0

Size

105.1 MB

Last updated

4 days ago

docker pull awinterstein/habitica-client:5.48.7