habitica-client
Web component for self-hosting of Habitica.
10K+
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.
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.
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.
Content type
Image
Digest
sha256:1a165a8d0…
Size
105.1 MB
Last updated
4 days ago
docker pull awinterstein/habitica-client:5.48.7