fp/docker-compose.yml

116 lines
2.6 KiB
YAML
Raw Normal View History

2025-01-11 13:26:38 +00:00
services:
2025-01-15 02:51:12 +00:00
# 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.
2025-01-11 13:26:38 +00:00
superstreamer:
image: alpine
environment:
- PUBLIC_API_ENDPOINT=http://localhost:52001
- PUBLIC_STITCHER_ENDPOINT=http://localhost:52002
- REDIS_HOST=redis
- REDIS_PORT=6379
2025-01-15 02:51:12 +00:00
- DATABASE_URI=postgres://postgres:password@db:5432/superstreamer
2025-01-11 13:26:38 +00:00
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
2025-01-15 02:51:12 +00:00
target: dev
args:
- MIX_ENV=dev
2025-01-11 13:26:38 +00:00
environment:
MIX_ENV: dev
PORT: "4000"
2025-01-12 07:43:30 +00:00
DATABASE_HOSTNAME: db
2025-01-15 02:51:12 +00:00
SUPERSTREAMER_URL: http://superstreamer-api:52001
PUBLIC_S3_ENDPOINT: https://fp-dev.b-cdn.net
2025-01-11 13:26:38 +00:00
env_file:
- .kamal/secrets.development
ports:
- '4000:4000'
depends_on:
- db
2025-01-15 02:51:12 +00:00
# volumes:
# - ./services/bright/lib:/app/lib
2025-01-15 03:29:54 +00:00
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
2025-01-11 13:26:38 +00:00
db:
image: postgres:15
2025-01-11 16:55:47 +00:00
container_name: futureporn-db
2025-01-11 13:26:38 +00:00
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
2025-01-12 06:47:17 +00:00
POSTGRES_DB: bright
2025-01-11 13:26:38 +00:00
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: