116 lines
2.6 KiB
YAML
116 lines
2.6 KiB
YAML
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: |