Paws/Docker/Docker-Compose/Sharkey/docker-compose.yml

104 lines
2.6 KiB
YAML

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: