services: # This service is just here for env var re-use between all the superstreamer-* services. # IDK if there is a way to do this without an image so we just run alpine which quits right away. superstreamer: image: alpine environment: - PUBLIC_API_ENDPOINT=http://localhost:52001 - PUBLIC_STITCHER_ENDPOINT=http://localhost:52002 - REDIS_HOST=redis - REDIS_PORT=6379 - DATABASE_URI=postgres://postgres:password@db:5432/superstreamer env_file: .kamal/secrets.development superstreamer-app: extends: superstreamer image: "superstreamerapp/app:alpha" ports: - 52000:52000 superstreamer-api: extends: superstreamer image: "superstreamerapp/api:alpha" restart: always ports: - 52001:52001 depends_on: - db - redis superstreamer-stitcher: extends: superstreamer image: "superstreamerapp/stitcher:alpha" restart: always ports: - 52002:52002 depends_on: - redis superstreamer-artisan: extends: superstreamer image: "superstreamerapp/artisan:alpha" restart: always depends_on: - redis redis: image: redis/redis-stack-server:7.2.0-v6 ports: - 127.0.0.1:6379:6379 healthcheck: test: ["CMD", "redis-cli", "--raw", "incr", "ping"] volumes: - redis_data:/data bright: container_name: bright build: context: . dockerfile: dockerfiles/bright.dockerfile target: dev args: - MIX_ENV=dev environment: MIX_ENV: dev PORT: "4000" DATABASE_HOSTNAME: db SUPERSTREAMER_URL: http://superstreamer-api:52001 PUBLIC_S3_ENDPOINT: https://fp-dev.b-cdn.net env_file: - .kamal/secrets.development ports: - '4000:4000' depends_on: - db # volumes: # - ./services/bright/lib:/app/lib develop: watch: - action: sync path: ./services/bright/ target: /app/ - action: sync+restart path: ./services/bright/application.ex target: /app/lib/bright/application.ex - action: sync+restart path: ./services/bright/mix.exs target: /app/mix.exs db: image: postgres:15 container_name: futureporn-db environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password POSTGRES_DB: bright volumes: - pg_data:/var/lib/postgresql/data ports: - '5432:5432' pgadmin: image: dpage/pgadmin4 ports: - '5050:5050' depends_on: - db environment: PGADMIN_LISTEN_PORT: "5050" env_file: - .kamal/secrets.development volumes: pg_data: redis_data: