Synology-Forum.nl

Packages => Officiële Packages => Docker / Container Manager => Topic gestart door: Tazmanian op 13 juni 2024, 07:46:47

Titel: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 13 juni 2024, 07:46:47
Deze week heeft Google laten weten dat het stopt met de Google Timeline via de browser, dat alles lokaal gaat worden opgeslagen via e App op uw gsm.

Ik heb al jaren geschiedenis via Google Timeline en gebruik de webversie regelmatig en is mooi overzichtelijk.

Ik zoek dus een alternatief om dit zelf te hosten en ik heb dit gevonden via Dawarich ( https://github.com/Freika/dawarich )
Dit kan op mijn NAS in Docker draaien.

Maar ik er is (nog) geen handleiding beschikbaar om dit te installeren.
Ik heb nog al Dockers draaien (HA / TeslaMate / NodeRed / ...) maar dat was allemaal via een handleiding van MariusHosting.  Alles werkt perfect.

Ik had via via al doorgekregen gewoon de docker-compose.yml ui te voeren.  Maar dat lijkt mij te simpel.
Omdat in alle andere installatie's er hier en daar wel aanpassingen nodig waren.


Is er iemand die hier wat meer over weet en een handleiding kan maken? :idea:
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: zandhaas op 13 juni 2024, 09:55:32
Ik neem aan dat je wel al via putty of andere ssh client kunt inloggen op je NAS.
Na het inloggen wordt ik meteen root met "sudo -i"

Ik heb op volume1 op mijn NAS een docker directory met daarin voor iedere container een eigen map aangemaakt.
Niu dus ook voor Dawarich een map gemaakt met daarin de 4 mappen die in de "volume" paragraaf worden genoemd

Ik heb de docker-compose.yml file gekopieerd naar de darwich map en de "volume" paragraaf  helemaal onderin aangepast naar mijn omgeving.
Verder moet je kijken of port 3000 al gebruikt wordt door een andere container en zoja deze ook aanpassen naar iets ongebruikts.

Daarna "docker-compose upo -d" gestart en even wachten tot alles gestart is in mijn geval zo'n 5 minuten. Dan in een browser http://<nas-ip-adres>:3000
Als alles goed is krijg je dan je initiele Darwich pagina waar je een account aan moet maken.

volumes:
  db_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/db_data
      o: bind
  gem_cache:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/gem_cache
      o: bind
  shared_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/shared_data
      o: bind
  public:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/public
      o: bind
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: bartmans99 op 13 juni 2024, 12:00:23
Dank! Ik ga ook eens kijken.

Als je via Marius de handleiding volgt, gebruik je wss al Portainer? Dat is stukje makkelijker.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 13 juni 2024, 13:28:31
@zandhaas dus je hebt in de docker-compose.yml alles hetzelfde gelaten.
Enkel dit

volumes:
  db_data:
  gem_cache:
  shared_data:
  public:

gewijzigd naar dit
volumes:
  db_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/db_data
      o: bind
  gem_cache:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/gem_cache
      o: bind
  shared_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/shared_data
      o: bind
  public:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/public
      o: bind

Ja mijn docker staat ook in volume1 alles dezelfde directories.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: zandhaas op 13 juni 2024, 13:31:43
Citaat
dus je hebt in de docker-compose.yml alles hetzelfde gelaten.
Enkel dit

Klopt.

Die bestands paden moet je even aan passen aan jou situatie.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 13 juni 2024, 13:55:29
Thanks gelukt.  Heb in docker composer gewoon een project aangemaakt en daar de docker-compose in geplakt.
Ging zonder problemen  :thumbup:


Enkel nog een vraagje.  Als er een update komt.  Hoe kan je de container dan het beste updaten?
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: zandhaas op 13 juni 2024, 14:03:46
Ik gebruik daar de Watchtower container voor. Die houd voor alle container die als image <image-naam>:latest hebben bij of er een update is.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 13 juni 2024, 14:07:35
Dat gaat nu ook gewoon via container composer.

Maar hoe doe je de update dan?  Gewoon update container is voldoende?

Voor home assistant doe ik het trouwens nog op de oude manier.
Nieuwe image download, container stoppen, resetten, starten. update done.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Figel op 02 januari 2025, 09:55:39
De beste wensen allemaal voor het nieuwe jaar.

Ik kwam jullie gesprek tegen in mijn zoektocht naar een vervanger van Google Timeline.
Mijn configuratie hier is zowat het zelfde dan wat jullie schetsen.
Synology Nas met Container manager en Portainer op basis van Marius zijn geweldige verzameling aan handleidingen.

Jullie spreken over een "docker-compose.yml" bestand.
Is dat:
dawarich/docs/synology/docker-compose.yml
of
dawarich/docker-compose.yml

Mij is het helaas nog niet gelukt om in portainer een werkende stack aan te maken.

Als iemand mij een duwtje, de goede kant op natuurlijk, wil geven graag.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 02 januari 2025, 10:08:25
Maak volgende mappen aan:

in docker/dawarich
- data
- db_data
- gem_cache
- public
- shared_data
- watched

Maak een project aan in Container Manager en gebruik deze .yaml configuratie:

version: '3'

services:
  dawarich_redis:
    image: redis:7.0-alpine
    container_name: dawarich_redis
    command: redis-server
    restart: unless-stopped
    volumes:
      - shared:/data

  dawarich_db:
    image: postgres:14.2-alpine
    container_name: dawarich_db
    restart: unless-stopped
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data
      - shared_data:/var/shared

  dawarich_app:
    image: freikin/dawarich:latest
    container_name: dawarich_app
    depends_on:
      - dawarich_db
      - dawarich_redis
    volumes:
      - gem_cache:/usr/local/bundle/gems
      - public:/var/app/public
      - watched:/var/app/tmp/imports/watched
    ports:
      - 3000:3000
    stdin_open: true
    tty: true
    entrypoint: dev-entrypoint.sh
    command: ['bin/dev']
    restart: unless-stopped
    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: localhost
      TIME_ZONE: Europe/Brussels
      APPLICATION_PROTOCOL: http
      WEB_CONCURRENCY: 2
      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: photon.komoot.io
      PHOTON_API_USE_HTTPS: true
      DISTANCE_UNIT: km
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"

  dawarich_sidekiq:
    image: freikin/dawarich:latest
    container_name: dawarich_sidekiq
    volumes:
      - gem_cache:/usr/local/bundle/gems
      - public:/var/app/public
      - watched:/var/app/tmp/imports/watched
    stdin_open: true
    tty: true
    entrypoint: dev-entrypoint.sh
    command: ['sidekiq']
    restart: unless-stopped
    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: localhost
      BACKGROUND_PROCESSING_CONCURRENCY: 45
      RAILS_MAX_THREADS: 50
      APPLICATION_PROTOCOL: http
      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: photon.komoot.io
      PHOTON_API_USE_HTTPS: true
      DISTANCE_UNIT: km
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"
    depends_on:
      - dawarich_db
      - dawarich_redis
      - dawarich_app

volumes:
  shared:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/data
      o: bind
  db_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/db_data
      o: bind
  gem_cache:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/gem_cache
      o: bind
  shared_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/shared_data
      o: bind
  public:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/public
      o: bind
  watched:
    driver: local # Define the drivera nd options under the volume name
    driver_opts:
       type: none
       device: /volume1/docker/dawarich/watched
       o: bind


Zo heb ik het bij mij draaien.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Figel op 02 januari 2025, 10:57:05
Dank voor de snelle reactie.
Ben aan het installeren en configureren.
Als het draait ga ik verder met het binnenhalen van de Timeline.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 02 januari 2025, 11:46:20
Opgelet, als je veel punten hebt kan de reverse geocoding veel resources in beslag nemen.

Ik heb Photon ook lokaal draaien.  Dat gaat véél sneller .
Als je het lokaal wil draaien:

Maak volgende mappen aan:

in docker/photon
- photon_data

mijn YAML

version: '3.7'

services:
  photon:
    image: rtuszik/photon-docker:latest
    container_name: photon
    restart: unless-stopped
    volumes:
      - photon_data:/photon/photon_data
    ports:
      - 2322:2322

volumes:
  photon_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
       type: none
       device: /volume1/docker/photon/photon_data
       o: bind

Opgelet, er worden heel wat GB's geinstalleerd.  Bij mij is de map photon 170Gb groot.
En je moet Photon soms ook enkele keren handmatig starten vooralleer hij definitief blijft draaien.

En in Dawarich dan dit twee keer aanpassen:
PHOTON_API_HOST: localhost:poort

Het installeren kan enkele uren duren (afhankelijk van uw internet verbinding)
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Figel op 02 januari 2025, 13:15:48
Daar kwam ik inderdaad achter, mijn .json bestand is 310MB.
Container manager/Synology was even flink aan het werk totdat andere containers vastliepen.
Waarschijnlijk werkt het beter om deze per jaar te exporteren om kleinere bestanden te importeren.

Wat bedoel je met lokaal draaien, niet op de synology maar op de pc?
Of gewoon als aparte container
Ik ben wat dat betreft een volledige noob.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 02 januari 2025, 13:17:46
Photon draaien als aparte container, lokaal.  Je kan reverse geocoding ook via de online versie doen, of via Google maar Photon lokaal gaat het het snelst.
Daarvoor dus nieuw project aanmaken en die YAML gebruiken dat ik hierboven heb geplaatst.

EDIT:
Ik heb trouwens enkel de Semantic location history geimporteert.  Dat bevatte voor mij voldoende.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Dickey op 06 juni 2025, 20:49:23
Ik heb dawarich nu twee weken draaien in docker op mijn Nas.
Ook Photon draait inmiddels maar het lukt me niet om reverse geocoding aan het werk te krijgen.
Beide in Portainer aangemaakt. (Dawarich met behulp van Marius Hosting)

Wat heb ik geprobeerd:

      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: 192.168.1.58:2322 (eigen netwerk)
      PHOTON_API_USE_HTTPS: false

      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: photon.dickey.nl:2322 (eigen domein)
      PHOTON_API_USE_HTTPS: true
      Certificaat aangemaakt port forwarding ingesteld.

Kan iemand mij de goede kant opsturen?
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 07 juni 2025, 08:23:29
Ik heb deze stack aangemaakt in Portainer:

Werkt met de laatste versie 0.27.3

version: '3'

services:
  dawarich_db:
    image: postgis/postgis:17-3.5-alpine
    container_name: dawarich_db
    restart: unless-stopped
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data
      - shared_data:/var/shared

  dawarich_app:
    image: freikin/dawarich:latest
    container_name: dawarich_app
    depends_on:
      - dawarich_db
    volumes:
      - public:/var/app/public
      - watched:/var/app/tmp/imports/watched
      - storage:/var/app/storage
      - db_data:/db_data
    ports:
      - 3000:3000
    stdin_open: true
    tty: true
    entrypoint: web-entrypoint.sh
    command: ['bin/rails', 'server', '-p', '3000', '-b', '::']
    restart: unless-stopped
    environment:
      RAILS_ENV: development
      DATABASE_HOST: dawarich_db
      DATABASE_USERNAME: postgres
      DATABASE_PASSWORD: password
      DATABASE_NAME: dawarich_development
      QUEUE_DATABASE_PATH: /db_data/dawarich_development_queue.sqlite3
      CACHE_DATABASE_PATH: /db_data/dawarich_development_cache.sqlite3
      CABLE_DATABASE_PATH: /db_data/dawarich_development_cable.sqlite3
      MIN_MINUTES_SPENT_IN_CITY: 60
      APPLICATION_HOSTS: localhost
      TIME_ZONE: Europe/Brussels
      APPLICATION_PROTOCOL: http
      WEB_CONCURRENCY: 2
      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: 10.52.0.100:2322
      PHOTON_API_USE_HTTPS: false
      SELF_HOSTED: true
      STORE_GEODATA: false
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"

volumes:

  db_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/db_data
      o: bind
  shared_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/shared_data
      o: bind
  public:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/public
      o: bind
  watched:
    driver: local # Define the driver and options under the volume name
    driver_opts:
       type: none
       device: /volume1/docker/dawarich/watched
       o: bind
  storage:
    driver: local # Define the driver and options under the volume name
    driver_opts:
       type: none
       device: /volume1/docker/dawarich/storage
       o: bind
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Dickey op 07 juni 2025, 10:32:54
@Tazmanian :
Ik hoopte al dat jij zou reageren😀.

Ik ga het vandaag proberen en laat je mijn vorderingen weten.

Alvast bedankt 🙏
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 07 juni 2025, 10:35:06
Er is wel een probleem met versie 0.27.3 bij mij crashed die na een paar minuten.
Ben nu 0.27.4RC aan het proberen (freikin/dawarich:rc)
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 07 juni 2025, 10:46:05
De RC blijkt te werken, zal wel snel final worden.

Als je 0.27.4 gaat installeren wel rekening houden met deze aanpassing in uw compose.yaml

https://github.com/Freika/dawarich/releases/tag/0.27.4-rc.1
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Dickey op 08 juni 2025, 16:30:16
Alles schijnt nu te werken, hoewel de reverse geocoding zeer traag gaat. ;D. Dit zegt waarschijnlijk meer iets over de snelheid van mijn NAS.

Normaals zeer bedankt.  :thumbup:

Dickey
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 08 juni 2025, 17:05:07
Dit is mijn compose na de stable release van 0.27.4

version: '3'

services:
  dawarich_db:
    image: postgis/postgis:17-3.5-alpine
    container_name: dawarich_db
    restart: unless-stopped
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data
      - shared_data:/var/shared

  dawarich_app:
    image: freikin/dawarich:latest
    container_name: dawarich_app
    depends_on:
      - dawarich_db
    volumes:
      - public:/var/app/public
      - watched:/var/app/tmp/imports/watched
      - storage:/var/app/storage
      - db_data:/db_data
      - sqlite_data:/sqlite_data
    ports:
      - 3000:3000
    stdin_open: true
    tty: true
    entrypoint: web-entrypoint.sh
    command: ['bin/rails', 'server', '-p', '3000', '-b', '::']
    restart: unless-stopped
    environment:
      RAILS_ENV: development
      DATABASE_HOST: dawarich_db
      DATABASE_USERNAME: postgres
      DATABASE_PASSWORD: password
      DATABASE_NAME: dawarich_development
      QUEUE_DATABASE_NAME: dawarich_development_queue
      QUEUE_DATABASE_PASSWORD: password
      QUEUE_DATABASE_USERNAME: postgres
      QUEUE_DATABASE_PORT: 5432
      QUEUE_DATABASE_HOST: dawarich_db
      CACHE_DATABASE_PATH: /sqlite_data/dawarich_development_cache.sqlite3
      CABLE_DATABASE_PATH: /sqlite_data/dawarich_development_cable.sqlite3
      MIN_MINUTES_SPENT_IN_CITY: 60
      APPLICATION_HOSTS: localhost
      TIME_ZONE: Europe/Brussels
      APPLICATION_PROTOCOL: http
      WEB_CONCURRENCY: 2
      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: 10.52.0.100:2322
      PHOTON_API_USE_HTTPS: false
      SELF_HOSTED: true
      STORE_GEODATA: false
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"

volumes:

  db_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/db_data
      o: bind
  sqlite_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/sqlite_data
      o: bind
  shared_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/shared_data
      o: bind
  public:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/public
      o: bind
  watched:
    driver: local # Define the driver and options under the volume name
    driver_opts:
       type: none
       device: /volume1/docker/dawarich/watched
       o: bind
  storage:
    driver: local # Define the driver and options under the volume name
    driver_opts:
       type: none
       device: /volume1/docker/dawarich/storage
       o: bind
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Dickey op 09 juni 2025, 10:20:45
Is dit jouw enige code voor Photon?

REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: 10.52.0.100:2322
      PHOTON_API_USE_HTTPS: false

ik heb nl:

#REVERSE_GEOCODING_ENABLED: true
      #PHOTON_API_HOST: photon.dickey.nl
      #PHOTON_API_USE_HTTPS: true

Aan photon.dickey.nl hangt een certificaat.
Toch werkt reverse geocoding niet.
Dawarich meld: een onbekende fout.  :o

@Tazmanian : heb jij nog ideeën?
 
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 09 juni 2025, 10:23:00
reverse geocoding staat bij u niet actief omwille van de # voor alles

De # dus verwijderen
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Dickey op 09 juni 2025, 11:32:00
Ja klopt, maar ik heb even geprobeerd om geoapfy te gebruiken en dat werkte prima.
De # was ik in het voorbeeld vergeten weg te halen.

Maar zonder de # werkt het niet.

Goed gezien trouwens.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 09 juni 2025, 11:57:46
Moet er achter photon.dickey.nl niet de poort staan?
Ik benader photon lokaal, vandaar het lokaal ip adres en de poort.

Is photon.dickey.nl benaderbaar via https?  Want dat staat true bij jou.

Je kan photon testen door bv. photon.dickey.nl/api?q=Harare
Als je daar dit krijgt werkt de link, anders niet.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Dickey op 10 juni 2025, 19:40:43
Ik denk dat ik zelf de veroorzaker van al mijn problemen ben.

De meeste van mijn programma's in docker zijn van buiten het lokale netwerk bereikbaar.
Dit via eigen hostname met certificaat en reverse proxy.

Bij Photon is dit niet nodig en kan dit lokaal zijn. (zoals in jouw voorbeeld)

Gisteravond viel het kwartje  :P

Nogmaals bedankt voor je hulp.
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Tazmanian op 10 juni 2025, 20:20:53
opgelet voordat je update naar 0.28.0.  Er zijn breaking changes en er wordt terug gegaan naar Sidekiq and Redis voor achtergrond jobs en caching.  Lees zeker de release notes: https://github.com/Freika/dawarich/releases/tag/0.28.0

Dit is mijn geupdate compose.yaml

version: '3'

services:
  dawarich_redis:
    image: redis:7.4-alpine
    container_name: dawarich_redis
    command: redis-server
    restart: unless-stopped
    volumes:
      - shared:/data

  dawarich_db:
    image: postgis/postgis:17-3.5-alpine
    container_name: dawarich_db
    restart: unless-stopped
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data
      - shared_data:/var/shared

  dawarich_app:
    image: freikin/dawarich:latest
    container_name: dawarich_app
    depends_on:
      - dawarich_db
      - dawarich_redis
    volumes:
      - public:/var/app/public
      - watched:/var/app/tmp/imports/watched
      - storage:/var/app/storage
      - db_data:/db_data
    ports:
      - 3000:3000
    stdin_open: true
    tty: true
    entrypoint: web-entrypoint.sh
    command: ['bin/rails', 'server', '-p', '3000', '-b', '::']
    restart: unless-stopped
    environment:
      RAILS_ENV: development
      REDIS_URL: redis://dawarich_redis:6379
      DATABASE_HOST: dawarich_db
      DATABASE_USERNAME: postgres
      DATABASE_PASSWORD: password
      DATABASE_NAME: dawarich_development
      MIN_MINUTES_SPENT_IN_CITY: 60
      APPLICATION_HOSTS: localhost
      TIME_ZONE: Europe/Brussels
      APPLICATION_PROTOCOL: http
      WEB_CONCURRENCY: 2
      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: 10.52.0.100:2322
      PHOTON_API_USE_HTTPS: false
      SELF_HOSTED: true
      STORE_GEODATA: false
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"

  dawarich_sidekiq:
    image: freikin/dawarich:latest
    container_name: dawarich_sidekiq
    volumes:
      - public:/var/app/public
      - watched:/var/app/tmp/imports/watched
      - storage:/var/app/storage
    stdin_open: true
    tty: true
    entrypoint: sidekiq-entrypoint.sh
    command: ['sidekiq']
    restart: unless-stopped
    environment:
      RAILS_ENV: development
      REDIS_URL: redis://dawarich_redis:6379
      DATABASE_HOST: dawarich_db
      DATABASE_USERNAME: postgres
      DATABASE_PASSWORD: password
      DATABASE_NAME: dawarich_development
      APPLICATION_HOSTS: localhost
      BACKGROUND_PROCESSING_CONCURRENCY: 45
      RAILS_MAX_THREADS: 50
      APPLICATION_PROTOCOL: http
      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: 10.52.0.100:2322
      PHOTON_API_USE_HTTPS: false
      SELF_HOSTED: true
      STORE_GEODATA: false
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"
    depends_on:
      - dawarich_db
      - dawarich_redis
      - dawarich_app

volumes:
  shared:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/data
      o: bind
  db_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/db_data
      o: bind
  shared_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/shared_data
      o: bind
  public:
    driver: local # Define the driver and options under the volume name
    driver_opts:
      type: none
      device: /volume1/docker/dawarich/public
      o: bind
  watched:
    driver: local # Define the driver and options under the volume name
    driver_opts:
       type: none
       device: /volume1/docker/dawarich/watched
       o: bind
  storage:
    driver: local # Define the driver and options under the volume name
    driver_opts:
       type: none
       device: /volume1/docker/dawarich/storage
       o: bind
Titel: Re: Dawarich in Docker / alternatief voor Google Timeline
Bericht door: Dickey op 13 juni 2025, 20:57:33
Nadat ik photon opnieuw had geïnstalleerd werken de twee dockers als een zonnetje.
Voor de volledigheid:
Dawarich met reverse geocoding door photon:

Photon---------Docker1---------------------
version: '3.7'

services:
  photon:
    image: rtuszik/photon-docker:latest
    container_name: photon
    environment:
      - COUNTRY_CODE=nl
      - PUID=1036
      - PGID=100
      - TZ=Europe/Amsterdam
    volumes:
      - photon_data:/photon/photon_data
    restart: unless-stopped
    ports:
      - 2322:2322

volumes:
  photon_data:
    driver: local # Define the driver and options under the volume name
    driver_opts:
       type: none
       device: /volume1/docker/photon/photon_data
       o: bind[/
------------------Docker2-------------------
Dawarich:

 services:   
  dawarich_db:
    image: postgis/postgis:17-3.5-alpine
    container_name: Dawarich-DB
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d dawarich"]
      interval: 10s
      retries: 5
      start_period: 30s
      timeout: 10s
    volumes:
      - /volume1/docker/dawarich/db:/var/lib/postgresql/data:rw
      - /volume1/docker/dawarich/shared:/var/shared:rw
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_DB: dawarich_development
    shm_size: 1G
    restart: on-failure:5

  dawarich_redis:
    image: redis:7.4-alpine
    command: redis-server
    container_name: Dawarich-REDIS
    user: 1036:100
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    volumes:
      - /volume1/docker/dawarich/redis:/data:rw
    environment:
      TZ: Europe/Amsterdam
    restart: on-failure:5

  dawarich_app:
    image: freikin/dawarich:latest
    container_name: Dawarich
    volumes:
      - /volume1/docker/dawarich/public:/var/app/public:rw
      - /volume1/docker/dawarich/watched:/var/app/tmp/imports/watched:rw
      - /volume1/docker/dawarich/storage:/var/app/storage:rw
    ports:
      - 3639:3000
    stdin_open: true
    tty: true
    entrypoint: web-entrypoint.sh
    command: ['bin/rails', 'server', '-p', '3000', '-b', '::']
    environment:
      RAILS_ENV: development
      REDIS_URL: redis://dawarich_redis:6379
      DATABASE_HOST: dawarich_db
      DATABASE_USERNAME: postgres
      DATABASE_PASSWORD: password
      DATABASE_NAME: dawarich_development
      SELF_HOSTED: true
      STORE_GEODATA: true
      SECRET_KEY_BASE: ##################################################
      APPLICATION_HOSTS: dawarich.#######.nl (#=eigen domeinnaam)
      MIN_MINUTES_SPENT_IN_CITY: 60
      TIME_ZONE: Europe/Amsterdam
      APPLICATION_PROTOCOL: http
      DISTANCE_UNIT: km
      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: 192.168.1.58:2322
      PHOTON_API_USE_HTTPS: false     
      #GEOAPIFY_API_KEY: ###################( ongebruikt )
      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
      dawarich_redis:
        condition: service_healthy
    restart: on-failure:5

  dawarich_sidekiq:
    image: freikin/dawarich:latest
    container_name: Dawarich-SIDEKIQ
    healthcheck:
      test: ["CMD-SHELL", "pgrep -f sidekiq"]
      interval: 10s
      retries: 30
      start_period: 30s
      timeout: 10s
    volumes:
      - /volume1/docker/dawarich/public:/var/app/public:rw
      - /volume1/docker/dawarich/watched:/var/app/tmp/imports/watched:rw
      - /volume1/docker/dawarich/storage:/var/app/storage:rw
    stdin_open: true
    tty: true
    entrypoint: sidekiq-entrypoint.sh
    command: ['sidekiq']
    environment:
      RAILS_ENV: development
      REDIS_URL: redis://dawarich_redis:6379
      DATABASE_HOST: dawarich_db
      DATABASE_USERNAME: postgres
      DATABASE_PASSWORD: password
      DATABASE_NAME: dawarich_development
      SECRET_KEY_BASE: ##############################################
      APPLICATION_HOSTS: dawarich.#######.nl (#=eigen domeinnaam)
      BACKGROUND_PROCESSING_CONCURRENCY: 10
      APPLICATION_PROTOCOL: http
      REVERSE_GEOCODING_ENABLED: true
      PHOTON_API_HOST: 192.168.1.58:2322
      PHOTON_API_USE_HTTPS: false     
      #GEOAPIFY_API_KEY: ###################( ongebruikt )
      PROMETHEUS_EXPORTER_ENABLED: false
      PROMETHEUS_EXPORTER_HOST: dawarich_app
      PROMETHEUS_EXPORTER_PORT: 9394
      SELF_HOSTED: true
      STORE_GEODATA: true
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"
    depends_on:
      dawarich_db:
        condition: service_healthy
      dawarich_redis:
        condition: service_healthy
      dawarich_app:
        condition: service_healthy
    restart: on-failure:5