Ocelot-Social/docker-compose.override.yml
Robert Schäfer d5ded75078 feat(backend): resize images with imagor
Open questions:
* Do we have external URLs for images? E.g. we have them for seeds. But
  in production?

* Do we want to apply image transformations on these as well? My current
implementation does not apply image transformations as of now. If we
want to do that, we will also expose internal URLs in the kubernetes
Cluster to the S3 endpoint to the client.

TODOs:
* The chat component is using a fixed size for all avatars at the moment.
Maybe we can pair-program on this how to implement responsive images in
this component library.
2025-06-11 21:18:23 +08:00

106 lines
2.7 KiB
YAML

services:
webapp:
image: ghcr.io/ocelot-social-community/ocelot-social/webapp:local-development
build:
target: development
environment:
- NODE_ENV="development"
# - DEBUG=true
- NUXT_BUILD=/tmp/nuxt # avoid file permission issues when `rm -rf .nuxt/`
volumes:
- ./webapp:/app
frontend:
image: ghcr.io/ocelot-social-community/ocelot-social/frontend:local-development
build:
target: development
environment:
- NODE_ENV=development
ports:
# port required for npm run dev
- 24678:24678
volumes:
- ./frontend:/app
backend:
image: ghcr.io/ocelot-social-community/ocelot-social/backend:local-development
depends_on:
- minio
- minio-mc
build:
target: development
environment:
- NODE_ENV="development"
- DEBUG=true
- SMTP_PORT=1025
- SMTP_HOST=mailserver
- AWS_ACCESS_KEY_ID=minio
- AWS_SECRET_ACCESS_KEY=12341234
- AWS_ENDPOINT=http:/minio:9000
- AWS_REGION=local
- AWS_BUCKET=ocelot
- S3_PUBLIC_GATEWAY=http:/localhost:8000
- IMAGOR_SECRET=mysecret
volumes:
- ./backend:/app
neo4j:
ports:
# Also expose the neo4j query browser
- 7474:7474
mailserver:
image: maildev/maildev
container_name: mailserver
ports:
- 1080:1080
- 1025:1025
minio:
image: quay.io/minio/minio
ports:
- 9000:9000
- 9001:9001
volumes:
- minio_data:/data
environment:
- MINIO_ROOT_USER=minio
- MINIO_ROOT_PASSWORD=12341234
command: server /data --console-address ":9001"
minio-mc:
image: quay.io/minio/mc
depends_on:
- minio
restart: on-failure
volumes:
- ./minio/readonly-policy.json:/tmp/readonly-policy.json
entrypoint: >
/bin/sh -c "
sleep 5;
/usr/bin/mc alias set dockerminio http://minio:9000 minio 12341234;
/usr/bin/mc mb --ignore-existing dockerminio/ocelot;
/usr/bin/mc anonymous set-json /tmp/readonly-policy.json dockerminio/ocelot;
"
imagor:
image: shumc/imagor:latest
ports:
- 8000:8000
environment:
PORT: 8000
IMAGOR_SECRET: mysecret # secret key for URL signature
# IMAGOR_UNSAFE: 1 # unsafe URL for testing
AWS_ACCESS_KEY_ID: h6uWJf7Earij3143YBV7
AWS_SECRET_ACCESS_KEY: or9ZWh34BmAIqzIbJL5QpeTrey5ChGirH0mmyMdn
AWS_ENDPOINT: http:/minio:9000
S3_FORCE_PATH_STYLE: 1
S3_LOADER_BUCKET: ocelot # enable S3 loader by specifying bucket
S3_STORAGE_BUCKET: ocelot # enable S3 storage by specifying bucket
S3_RESULT_STORAGE_BUCKET: ocelot # enable S3 result storage by specifying bucket
HTTP_LOADER_BASE_URL: http://minio:9000
volumes:
minio_data: