services: opentracker: image: anthonyzou/opentracker:latest ports: - "6969:6969/tcp" - "6969:6969/udp" volumes: - ./packages/opentracker/opentracker.conf:/etc/opentracker.conf:ro 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 # volumes: # - /home/cj/Documents/ueberauth_patreon:/app/contrib/ueberauth_patreon develop: watch: - path: ./services/bright/ target: /app/ action: sync - path: ./services/bright/application.ex target: /app/lib/bright/application.ex action: sync+restart - path: ./services/bright/config/config.exs target: /app/lib/bright/config/config.exs action: sync+restart - path: ./services/bright/config/runtime.exs target: /app/lib/bright/config/runtime.exs action: sync+restart # @todo we need "docker@27.5.0" in devbox.json because we need docker compose >= `v2.32.0` for `sync+exec` feature. # For now, we don't have `sync+exec` support which means docker image rebuilds are required when updating mix.exs # - path: ./services/bright/mix.exs # action: sync+exec # target: /app/mix.exs # exec: # command: mix deps.get - path: ./services/bright/mix.exs target: /app/mix.exs action: sync+restart # - path: /home/cj/Documents/ueberauth_patreon # action: sync # target: /app/contrib/ueberauth_patreon 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: