In einer Welt, in der Datenschutz immer wichtiger wird, bietet Dawarich eine spannende Lösung für alle, die ihre Standortdaten unabhängig und sicher verwalten möchten. Diese Open-Source-Webanwendung ersetzt die Google Standortchronik (Google Maps Timeline) und ermöglicht <es, Standortdaten auf einer interaktiven Karte zu visualisieren, Statistiken wie bereiste Länder oder Distanzen zu analysieren und Daten aus verschiedenen Quellen wie Google Takeout, OwnTracks oder GPX-Dateien zu importieren. Mit Unterstützung für Live-Tracking und umfangreichen Exportmöglichkeiten ist Dawarich ein leistungsstarkes Tool für alle, die ihre Bewegungsdaten selbst kontrollieren wollen.
Datum | Änderungen |
---|---|
22.11.2024 | Erstellung dieser Anleitung. |
31.12.2024 | Login Name angepasst. Danke an @helmut56 |
01.02.2025 | Docker Compose an die aktuelle Version angepasst |
17.02.2025 | Datenbank Version angepasst. Danke @andreas |
02.05.2025 | Docker Compose an die aktuelle Version angepasst |
01.06.2025 | Schreibfehler behoben. Danke an @andreas |
06.06.2025 | An aktuelle Version angepasst. Danke @andreas |
09.06.2025 | An aktuelle Version angepasst. Danke @andreas |
19.06.2025 | An aktuelle Version angepasst. Danke @andreas |
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik V3 Installation, Konfiguration und CrowdSec-Security
2. Verzeichnis erstellen
Dazu gebt ihr folgenden Befehl ein:
mkdir -p /opt/containers/dawarich
Bei diesem Inhalt handelt es sich um exklusiven Content für Community Plus Mitglieder und Supporter.
Bitte logge dich mit deinem Account ein um den Inhalt zu sehen.
5. Erster Login
Nach dem Start wartet ihr einige Minuten und geht dann auf eure Webseite: dawarich.euredomain.de und solltet folgendes sehen:
Klickt nun auf Login:
Gebt nun folgendes ein:
- Name: demo@dawarich.app
- Passwort: password
Nun seid ihr eingeloggt. Diese Daten könnt / solltet ihr anschließend ändern.
Hallo
Christian , und jetzt die Rolle rückwärts. Der Entwickler ist wieder zurück zu Redis und Sidekiq. Da gab es wohl Probleme. Weiteres unter. https://github.com/Freika/dawarich/releases/tag/0.28.0
Mit folgender docker-compose läuft es. Viele Grüße Andreas
Hallo
Christian , da bleibt man dran. Es haben sich wieder nach einer neuen Version Veränderungen der docker-compose ergeben. Weiteres unter https://github.com/Freika/dawarich/releases/tag/0.27.4
Mit der hier angepassten läuft es. Ich weiß allerdings nicht ob die letzten Zeilen zwingend nötig sind. Die haben wir doch oben schon angegeben. Gruß Andreas
services:
dawarich_db:
image: postgis/postgis:17-3.5-alpine
shm_size: 1G
container_name: dawarich_db
volumes:
– ./dawarich_db_data:/var/lib/postgresql/data
– ./dawarich_shared:/var/shared
networks:
– dawarich
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: dawarich_development
restart: always
healthcheck:
test: [ “CMD-SHELL”, “pg_isready -U postgres -d dawarich_development” ]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
dawarich_app:
image: freikin/dawarich:latest
container_name: dawarich_app
volumes:
– ./dawarich_public:/var/app/public
– ./dawarich_watched:/var/app/tmp/imports/watched
– ./dawarich_storage:/var/app/storage
– ./dawarich_db_data:/dawarich_db_data
– ./dawarich_sqlite_data:/dawarich_sqlite_data
networks:
– dawarich
– proxy
stdin_open: true
tty: true
entrypoint: web-entrypoint.sh
command: [‘bin/rails’, ‘server’, ‘-p’, ‘3000’, ‘-b’, ‘::’]
restart: on-failure
labels:
– “traefik.enable=true”
– “traefik.http.routers.dawarich.entrypoints=websecure”
– “traefik.http.routers.dawarich.rule=(Host(
dawarich.euredomain.de
))”– “traefik.http.routers.dawarich.tls=true”
– “traefik.http.routers.dawarich.tls.certresolver=http_resolver”
– “traefik.http.routers.dawarich.service=dawarich”
– “traefik.http.services.dawarich.loadbalancer.server.port=3000”
– “traefik.docker.network=proxy”
– “traefik.http.routers.dawarich.middlewares=default@file”
environment:
RAILS_ENV: development
DATABASE_HOST: dawarich_db
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: password
DATABASE_NAME: dawarich_development
# PostgreSQL database name for solid_queue
QUEUE_DATABASE_NAME: dawarich_development_queue
QUEUE_DATABASE_PASSWORD: password
QUEUE_DATABASE_USERNAME: postgres
QUEUE_DATABASE_HOST: dawarich_db
QUEUE_DATABASE_PORT: 5432
# SQLite database paths for cache and cable databases
CACHE_DATABASE_PATH: /dawarich_sqlite_data/dawarich_development_cache.sqlite3
CABLE_DATABASE_PATH: /dawarich_sqlite_data/dawarich_development_cable.sqlite3
MIN_MINUTES_SPENT_IN_CITY: 60
APPLICATION_HOSTS: dawarich.euredomain.de
TIME_ZONE: Europe/Berlin
APPLICATION_PROTOCOL: http
DISTANCE_UNIT: km
PROMETHEUS_EXPORTER_ENABLED: false
PROMETHEUS_EXPORTER_HOST: 0.0.0.0
PROMETHEUS_EXPORTER_PORT: 9394
SELF_HOSTED: “true”
logging:
driver: “json-file”
options:
max-size: “100m”
max-file: “5”
healthcheck:
test: [ “CMD-SHELL”, “wget -qO – http://127.0.0.1:3000/api/v1/health | grep -q ‘\”status\”\\s*:\\s*\”ok\”‘” ]
interval: 10s
retries: 30
start_period: 30s
timeout: 10s
depends_on:
dawarich_db:
condition: service_healthy
restart: true
deploy:
resources:
limits:
cpus: ‘0.50’ # Limit CPU usage to 50% of one core
memory: ‘4G’ # Limit memory usage to 4GB
networks:
proxy:
external: true
dawarich:
volumes:
dawarich_db_data:
dawarich_sqlite_data:
dawarich_shared:
dawarich_public:
dawarich_watched:
dawarich_storage:
Hallo
Christian es hat sich mit der Version 2.7.2 wieder etwas geändert. Redis und Sidekiq sind nicht mehr dabei und können aus der docker-compse entfernt werden. Die obenstehenden Konfiguration funktioniert zwar irgendwie noch. Beim Start des Containers kommt eine Fehlermeldung.
Das wäre die geänderte Fassung.
Hallo
Christian , Du hast in der docker-compose an zwei Stellen einen Schreibfehler.
Dort steht
– “traefik.http.routers.dawarich.rule=(Host(
darwich.euredomain.de
))”und
APPLICATION_HOSTS: darwich.euredomain.de
Das passt nicht zur change-compose.sh. Es wird also nichts geändert. Vielen Dank für die Anpassung. Viele Grüße Andreas
Gab es hier vielleicht wieder eine Änderung ? Meine Locations ändern sich nicht mehr und mir wird immer die Berliner Karte angezeigt.
ich nutze owwntracks und die api und alles ist richtig hinterlegt, aber ich kriege immer http: 401
vor ein paar Tagen ging es noch
Ich habe DaWarIch gerade mal installiert.
Der Container “dawarich_app” hing in einer Endlosschleife fest.
Die Datenbank “dawarich_development”aus der “docker-compose.yml” wurde nicht gefunden. Erst dachte ich, das das “_development” am Datenbanknamen noch ein Ueberbleibsel aus Tests war, aber nach ein bisschen Suche in den Logs habe ich gesehen, das in der “docker-entrypoint.sh” bzw. der “10_postgis.sh” eine Datenbank “postgres” erstellt wurde.
Nachdem die zwei Einträge in der “docker-compose.yml” geändert waren. Läuft das ganze dann auch.
Hoffe das ganze war auch so vorgesehen 😀
Hier meine Konfig basierend auf der neusten Darawich Compose Datei:
Ich verwende allerdings immer ein eigenes Netzwerk und Domain als Parameter
—
networks:
proxy:
external: true
dawarich_backend:
name: dawarich_backend
driver: bridge
services:
dawarich_redis:
image: redis:7.0-alpine
container_name: dawarich_redis
command: redis-server
networks:
– dawarich_backend
volumes:
– dawarich_shared:/data
restart: always
healthcheck:
test: [“CMD”, “redis-cli”, “–raw”, “incr”, “ping”]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
dawarich_db:
image: postgis/postgis:14-3.5-alpine
shm_size: 1G
container_name: dawarich_db
volumes:
– dawarich_db_data:/var/lib/postgresql/data
– dawarich_shared:/var/shared
# – ./postgresql.conf:/etc/postgresql/postgresql.conf # Optional, uncomment if you want to use a custom config
networks:
– dawarich_backend
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
restart: always
healthcheck:
test: [“CMD-SHELL”, “pg_isready -U postgres -d dawarich_development”]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
# command: postgres -c config_file=/etc/postgresql/postgresql.conf # Use custom config, uncomment if you want to use a custom config
dawarich_app:
image: freikin/dawarich:latest
container_name: dawarich_app
volumes:
– dawarich_public:/var/app/public
– dawarich_watched:/var/app/tmp/imports/watched
networks:
– proxy
– dawarich_backend
#ports:
# – 3000:3000
# – 9394:9394 # Prometheus exporter, uncomment if needed
stdin_open: true
tty: true
entrypoint: web-entrypoint.sh
command: [“bin/rails”, “server”, “-p”, “3000”, “-b”, “::”]
restart: on-failure
environment:
RAILS_ENV: development
REDIS_URL: redis://dawarich_redis:6379/0
DATABASE_HOST: dawarich_db
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: password
DATABASE_NAME: dawarich_development
MIN_MINUTES_SPENT_IN_CITY: 60
APPLICATION_HOSTS: $DOMAIN
TIME_ZONE: Europe/London
APPLICATION_PROTOCOL: http
DISTANCE_UNIT: km
PROMETHEUS_EXPORTER_ENABLED: false
PROMETHEUS_EXPORTER_HOST: 0.0.0.0
PROMETHEUS_EXPORTER_PORT: 9394
ENABLE_TELEMETRY: false # More on telemetry: https://dawarich.app/docs/tutorials/telemetry
logging:
driver: “json-file”
options:
max-size: “100m”
max-file: “5”
healthcheck:
test:
[
“CMD-SHELL”,
“wget -qO – http://127.0.0.1:3000/api/v1/health | grep -q ‘\”status\”\\s*:\\s*\”ok\”‘”,
]
interval: 10s
retries: 30
start_period: 30s
timeout: 10s
depends_on:
dawarich_db:
condition: service_healthy
restart: true
dawarich_redis:
condition: service_healthy
restart: true
deploy:
resources:
limits:
cpus: “0.50” # Limit CPU usage to 50% of one core
memory: “4G” # Limit memory usage to 4GB
labels:
traefik.enable: true
traefik.docker.network: proxy
# https
traefik.http.routers.dawarich-secure.rule: Host(
$DOMAIN
)traefik.http.routers.dawarich-secure.entrypoints: websecure
traefik.http.routers.dawarich-secure.tls.certresolver: ${CERTRESOLVER:-http_resolver}
traefik.http.routers.dawarich-secure.middlewares: default@file
dawarich_sidekiq:
image: freikin/dawarich:latest
container_name: dawarich_sidekiq
volumes:
– dawarich_public:/var/app/public
– dawarich_watched:/var/app/tmp/imports/watched
networks:
– dawarich_backend
stdin_open: true
tty: true
entrypoint: sidekiq-entrypoint.sh
command: [“sidekiq”]
restart: on-failure
environment:
RAILS_ENV: development
REDIS_URL: redis://dawarich_redis:6379/0
DATABASE_HOST: dawarich_db
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: password
DATABASE_NAME: dawarich_development
APPLICATION_HOSTS: $DOMAIN
BACKGROUND_PROCESSING_CONCURRENCY: 10
APPLICATION_PROTOCOL: http
DISTANCE_UNIT: km
PROMETHEUS_EXPORTER_ENABLED: false
PROMETHEUS_EXPORTER_HOST: dawarich_app
PROMETHEUS_EXPORTER_PORT: 9394
ENABLE_TELEMETRY: false # More on telemetry: https://dawarich.app/docs/tutorials/telemetry
logging:
driver: “json-file”
options:
max-size: “100m”
max-file: “5”
healthcheck:
test:
[“CMD-SHELL”, “bundle exec sidekiqmon processes | grep $${HOSTNAME}”]
interval: 10s
retries: 30
start_period: 30s
timeout: 10s
depends_on:
dawarich_db:
condition: service_healthy
restart: true
dawarich_redis:
condition: service_healthy
restart: true
dawarich_app:
condition: service_healthy
restart: true
deploy:
resources:
limits:
cpus: “0.50” # Limit CPU usage to 50% of one core
memory: “4G” # Limit memory usage to 4GB
volumes:
dawarich_db_data:
dawarich_shared:
dawarich_public:
dawarich_watched:
Hallo in die Runde, hallo
Christian
mit dem Update auf 26 gegen Ende des Monats wird auf die Datenbank
Christian , es macht sicher Sinn die Anleitung dann anzupassen.
postgis/postgis:17-3.5-alpine
. als Standard Datenbank etabliert. “https://github.com/Freika/dawarich/releases/tag/0.24.1”Ich habe heute den Wechsel auf postgis vollzogen. Das gilt natürlich nur für die, die mit der o.g. Anleitung “postgres:14.2-alpine” unterwegs sind. Mit dieser Anleitung klappt es “https://dawarich.app/docs/tutorials/update-postgresql”
Ob die postgres noch mit der 26er Version läuft habe ich nicht gelesen. Scheinbar nicht.
Viele Grüße Andreas
Hallo Christian, mit der neuen Version scheint es Anpassungenn zu geben die einen Start des Containers verhindern. Ein zurück auf die ursprüngliche Version funktioniert nicht. Kannst Du die Anleitung anpassen. Gruß Andreas.
Hallo zusammen,
die Logindaten haben sich mit dem neuestem Release geändert.
demo@dawarich.app
password
sind nun richtig.
Für alle ein gesundes 2025
VG