name: sharkey-stack [0/70] services: web: image: registry.activitypub.software/transfem-org/sharkey:2025.4.2 restart: unless-stopped links: - db - redis # - mcaptcha - meilisearch depends_on: db: condition: service_healthy redis: condition: service_healthy ports: - "3003:3000" networks: - calcnet #environment: # - NODE_ENV=production environment: - NODE_OPTIONS="--max-old-space-size=8192" volumes: - ./files:/sharkey/files - ./.config:/sharkey/.config:ro logging: driver: loki options: loki-url: "${LOKI_URL:-http://localhost:3100/loki/api/v1/push}" redis: restart: unless-stopped image: valkey/valkey:7-alpine networks: - calcnet volumes: - ./redis:/data healthcheck: test: "redis-cli ping" interval: 5s retries: 20 logging: driver: loki options: loki-url: "${LOKI_URL:-http://localhost:3100/loki/api/v1/push}" db: restart: unless-stopped image: postgres:15-alpine networks: - calcnet env_file: - .config/docker.env volumes: - ./db:/var/lib/postgresql/data healthcheck: test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" interval: 5s retries: 20 logging: driver: loki options: loki-url: "${LOKI_URL:-http://localhost:3100/loki/api/v1/push}" ### Only one of the below should be used. ### Meilisearch is better overall, but resource-intensive. Sonic is a very light full text search engine. meilisearch: image: getmeili/meilisearch:v1.13.0 environment: - MEILI_NO_ANALYTICS=true - MEILI_ENV=production - MEILI_MASTER_KEY=KHvGXxYilGpycX0WVpRXhlL5y ports: - "7700:7700" networks: - calcnet volumes: - ./meili_data:/meili_data restart: unless-stopped logging: driver: loki options: loki-url: "${LOKI_URL:-http://localhost:3100/loki/api/v1/push}" # sonic: # restart: unless-stopped # image: docker.io/valeriansaliou/sonic:v1.4.0 # networks: # - calcnet # volumes: # - ./sonic:/var/lib/sonic/store # - ./sonic/config.cfg:/etc/sonic.cfg # logging: # driver: loki # options: # loki-url: "${LOKI_URL:-http://localhost:3100/loki/api/v1/push}" networks: calcnet: