networks: dawarich: 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 # - ./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 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 # 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 - dawarich_storage:/var/app/storage - dawarich_db_data:/dawarich_db_data - dawarich_sqlite_data:/dawarich_sqlite_data networks: - dawarich 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 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 # 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: localhost TIME_ZONE: Europe/London APPLICATION_PROTOCOL: http PROMETHEUS_EXPORTER_ENABLED: false PROMETHEUS_EXPORTER_HOST: 0.0.0.0 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", "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 volumes: dawarich_db_data: dawarich_sqlite_data: dawarich_shared: dawarich_public: dawarich_watched: dawarich_storage: