Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Dawarich - eigener GPS-Daten-logger-Server

Featured Replies

Hallo zusammen,

 

Vielleicht hat jemand Interesse daran, zusammen eine lauffähige Version von Dawarich* auf UnRaid zum laufen zu bringen. Ich bin schon für meine Verhältnisse weit gekommen und scheitere jedoch auf den letzten Metern.

Unten habe ich mal meine docker-compose.yml beigefügt.

Nach recht langem Suchen habe ich herausgefunden das ich mit den beiden im UnRaid App Store angebotenen Apps für Dawarich nicht weiter komme. Ich fand keine Anleitung für eine Konfiguration. Zu viele Fragen blieben offen.

Nun bin ich auf das UnRaid Plugin "Docker Compose Manager" gestoßen. Dies sollte es doch ermöglichen, per docker-compose.yml eine lauffähige Version von Dawarich zu erstellen. Nachdem ich hier https://github.com/Freika/dawarich/discussions/150

auf eine Seite mit einem für UnRaid geeigneten Template gestoßen bin, habe ich es mal ausprobiert. Es müssen ggf. Tabulatoren gegen Leerzeichen ausgetauscht werden. Auch die im Kommentar genannte Änderung sollte eingepflegt werden.

Nachdem ich alle Fehlermeldungen des Managers ausgemerzt habe, wurden auch alle vier Container angelegt. Jedoch gab es eine Fehlermeldung während des Starts:

 

[+] Running 4/5

 ✔ Network dawarich_default    Created                                                                                                           0.2s 

 ✔ Container dawarich_db       Started                                                                                                           0.6s 

 ✔ Container dawarich-redis    Started                                                                                                           0.6s 

 ⠇ Container dawarich_app      Starting                                                                                                          1.2s 

 ✔ Container dawarich_sidekiq  Created                                                                                                           0.0s 

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "dev-entrypoint.sh": executable file not found in $PATH: unknown

  

Tja, und da komme ich nicht weiter. Mein Wissen diesbezüglich reicht nicht weit.

In der vom Autor bereitgestellten docker-compose sind Einträge sog. health checks eingefügt. Wenn ich dies jedoch einfüge, bekomme ich vom Manager viele Fehlermeldungen die ich nicht beheben kann da mir das Wissen dazu fehlt. Also habe ich dies auch rausgelassen. Was sie bringen und ob sie hilfreich sind kann ich nicht beurteilen.

 

Beim Compose Up kann man wohl noch für jeden Container passende Icons vergeben. Doch wie? Eine Anleitung habe ich nicht gefunden.

 

Über Hilfe würde ich mich sehr freuen.

Vielen Dank

 

Hier meine docker-compose.yml

 

services:

  dawarich_redis:

    image: redis:7.0-alpine

    container_name: dawarich-redis

    command: redis-server

    volumes:

      - /mnt/user/appdata/compose-dawarich/shared:/data

  dawarich_db:

    image: postgres:14.2-alpine

    container_name: dawarich_db

    volumes:

      - /mnt/user/appdata/compose-dawarich/db:/var/lib/postgresql/data

      - /mnt/user/appdata/compose-dawarich/shared:/var/shared

    environment:

      POSTGRES_USER: postgres

      POSTGRES_PASSWORD: mein-passwort

  dawarich_app:

    image: freikin/dawarich:latest

    container_name: dawarich_app

    volumes:

      - /mnt/user/appdata/compose-dawarich/gems:/usr/local/bundle/gems

      - /mnt/user/appdata/compose-dawarich/public:/var/app/public

    ports:

      - 3000:3000

    stdin_open: true

    tty: true

    entrypoint: dev-entrypoint.sh

    command:

      - bin/dev

    restart: on-failure

    environment:

      RAILS_ENV: development

      REDIS_URL: redis://dawarich_redis:6379/0

      DATABASE_HOST: dawarich_db

      DATABASE_USERNAME: postgres

      DATABASE_PASSWORD: mein-passwort

      DATABASE_NAME: dawarich_development

      MIN_MINUTES_SPENT_IN_CITY: 60

      APPLICATION_HOST: localhost

      APPLICATION_HOSTS: localhost

      TIME_ZONE: Europe/Berlin

      APPLICATION_PROTOCOL: http

    logging:

      driver: json-file

      options:

        max-size: 100m

        max-file: "5"

    depends_on:

      - dawarich_db

      - dawarich_redis

  dawarich_sidekiq:

    image: freikin/dawarich:latest

    container_name: dawarich_sidekiq

    volumes:

      - /mnt/user/appdata/compose-dawarich/gems:/usr/local/bundle/gems

      - /mnt/user/appdata/compose-dawarich/public:/var/app/public

    stdin_open: true

    tty: true

    entrypoint: dev-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: mein-passwort

      DATABASE_NAME: dawarich_development

      APPLICATION_HOST: localhost

      APPLICATION_HOSTS: localhost

      BACKGROUND_PROCESSING_CONCURRENCY: 10

      APPLICATION_PROTOCOL: http

    logging:

      driver: json-file

      options:

        max-size: 100m

        max-file: "5"

    depends_on:

      - dawarich_db

      - dawarich_redis

      - dawarich_app

 

 

 

*Meine eigene Beschreibung: Dawarich = da war ich = eigener GPS-Daten-logger-Server der von einer App geloggte GPS Daten aufnimmt und grafisch darstellt wo man alles schon gewesen war.

Solved by Archonw

  • Solution

Ich habe es auch mit dem docker-compose plugin gemacht. Hier meine funktionierende docker-compose.yml


 

networks:
  dawarich:
services:
  dawarich_redis:
    image: redis:7.0-alpine
    container_name: dawarich_redis
    command: redis-server
    networks:
      - dawarich
    volumes:
      - /mnt/cache/appdata/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:
      - /mnt/cache/appdata/dawarich_db_data:/var/lib/postgresql/data
      - /mnt/cache/appdata/dawarich_shared:/var/shared
      # - ./postgresql.conf:/etc/postgresql/postgresql.conf # Optional, uncomment if you want to use a custom config
    networks:
      - dawarich
    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:
      - /mnt/cache/appdata/dawarich_public:/var/app/public
      - /mnt/cache/appdata/dawarich_watched:/var/app/tmp/imports/watched
    networks:
      - dawarich
    ports:
      - 30000: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: "meine-gps-domain.de,127.0.0.1"
      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
      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
  dawarich_sidekiq:
    image: freikin/dawarich:latest
    container_name: dawarich_sidekiq
    volumes:
      - /mnt/cache/appdata/dawarich_public:/var/app/public
      - /mnt/cache/appdata/dawarich_watched:/var/app/tmp/imports/watched
    networks:
      - dawarich
    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: "meine-pgs-domain.de,127.0.0.1"
      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:

 

Nur die domain (meine-gps-domain.de) durch die Eigene ersetzen.

 

 

 

  • Author

@Archonw, vielen, vielen Dank. Genau so hat es funktioniert. Ich musste nur die Volumes Pfade und die Domain anpassen und schwups läuft es. 

Da muss erst jemand kommen der den Durchblick hat, so wie Archonw.

Nun kann ich damit "rumspielen" bis ich es richtig nutze. Und bei Gelegenheit muss ich heruasfinden wie ich es hübsch mache, also die passenden Icon finde und wie ich sie einbinde.

Danke

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.