Skip to content

0.28.0

Compare
Choose a tag to compare
@Freika Freika released this 09 Jun 18:29
· 4 commits to master since this release
6b068f4

⚠️ This release includes a breaking change. ⚠️

yet another, yay!

Well, we're moving back to Sidekiq and Redis for background jobs and caching. Unfortunately, SolidQueue and SolidCache brought more problems than they solved. Please update your docker-compose.yml to use Redis and Sidekiq.

Before updating, you can remove dawarich_development_queue database from your postgres. All *.sqlite3 files in dawarich_sqlite_data volume can be removed as well.

PLEASE PAY ATTENTION: now the value in REDIS_URL doesn't include database name and should be provided with protocol, host and port only: redis://dawarich_redis:6379. Internally, Dawarich uses databases 0, 1 and 2 by default, these numbers may change in one of the future releases.

networks:
  dawarich:
services:
+ dawarich_redis:
+   image: redis:7.4-alpine
+   container_name: dawarich_redis
+   command: redis-server
+   networks:
+     - dawarich
+   volumes:
+     - dawarich_shared:/data
+   restart: always
+   healthcheck:
+     test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
+     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
    ...
    restart: on-failure
    environment:
      RAILS_ENV: development
+     REDIS_URL: redis://dawarich_redis:6379
      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
...
    depends_on:
      dawarich_db:
        condition: service_healthy
        restart: true
+     dawarich_redis:
+       condition: service_healthy
+       restart: true
...
+ dawarich_sidekiq:
+   image: freikin/dawarich:latest
+   container_name: dawarich_sidekiq
+   volumes:
+     - dawarich_public:/var/app/public
+     - dawarich_watched:/var/app/tmp/imports/watched
+     - dawarich_storage:/var/app/storage
+   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
+     DATABASE_HOST: dawarich_db
+     DATABASE_USERNAME: postgres
+     DATABASE_PASSWORD: password
+     DATABASE_NAME: dawarich_development
+     APPLICATION_HOSTS: localhost
+     BACKGROUND_PROCESSING_CONCURRENCY: 10
+     APPLICATION_PROTOCOL: http
+     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"
+   healthcheck:
+     test: [ "CMD-SHELL", "pgrep -f sidekiq" ]
+     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
...
volumes:
  dawarich_db_data:
- dawarich_sqlite_data:
  dawarich_shared:
  dawarich_public:
  dawarich_watched:
  dawarich_storage:

I understand the confusion, probably even anger, caused by so many breaking changes in the recent days.

I'm sorry.

Fixed

  • Fixed a bug where points from Immich and Photoprism did not have lonlat attribute set. #1318
  • Added minimum password length to 6 characters. #1373
  • Text size of countries being calculated is now smaller. #1371

Changed

  • Geocoder is now being installed from a private fork for debugging purposes.
  • Redis is now being used for caching.
  • Sidekiq is now being used for background jobs.

Removed

  • SolidQueue, SolidCache and SolidCable are now removed.

💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, derpderpington, Chippie, dint, jhalpern, Lex Fradski, Schlufo, cyberswan.at, craftyklaus, JMyrng, Andre, hogenf, naraxius, Lemur, Embrace, martin4861, Alex, evetters, GregF, Jon Coffee, Lukas, Robbie G, Kilian, Hans G, Chris, tabaha, Andre, Michael C, Chris, elyob, gesus, Jonah B., Dante, daallex, Tanner A., Matthias B., Milien M., Mathias, Travis S., Stefan, Michael J., Matthew F., Johnathan D., bleibdirtroy, no1etal, Alexander K.,Ashwin C., Stefan, dixet, Bailey J. and BeeHappy on Patreon and KoFi 💙

What's Changed

New Contributors

Full Changelog: 0.27.4...0.28.0