Synology-Forum.nl
Packages => Officiële Packages => Docker / Container Manager => Topic gestart 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:
-
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
-
Dank! Ik ga ook eens kijken.
Als je via Marius de handleiding volgt, gebruik je wss al Portainer? Dat is stukje makkelijker.
-
@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.
-
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.
-
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?
-
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.
-
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.
-
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.
-
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.
-
Dank voor de snelle reactie.
Ben aan het installeren en configureren.
Als het draait ga ik verder met het binnenhalen van de Timeline.
-
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)
-
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.
-
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.