version: '3.4' services: # Run browser-sync and compile static assets. # # This is the primary server and it proxies # the Django app so that it can add the fancy # browser refresh JS. assets: build: context: . target: assets image: mozmeao/bedrock_assets:${GIT_COMMIT:-latest} platform: linux/amd64 command: npm run watch ports: - "8000-8010:8000-8010" volumes: - ./media/:/app/media:delegated - ./bedrock/:/app/bedrock:delegated - ./assets/:/app/assets:delegated environment: BS_PROXY_URL: "app:8080" # the django app app: build: context: . target: devapp image: mozmeao/bedrock_test:${GIT_COMMIT:-latest} platform: linux/amd64 command: python manage.py runserver 0.0.0.0:8080 env_file: .env environment: SITE_MODE: "${SITE_MODE:-Mozorg}" ports: - "8080:8080" volumes: - ./bedrock/:/app/bedrock:delegated - ./bin/:/app/bin:delegated - ./docker/:/app/docker:delegated - ./etc/:/app/etc:delegated - ./lib/:/app/lib:delegated - ./docs/:/app/docs:delegated - ./media/:/app/media:delegated - ./root_files/:/app/root_files:delegated - ./scripts/:/app/scripts:delegated - ./wsgi/:/app/wsgi:delegated - ./locale/:/app/locale:delegated - ./l10n/:/app/l10n:delegated - ./assets/:/app/assets:delegated # run the tests against local changes test: image: mozmeao/bedrock_test:${GIT_COMMIT:-latest} env_file: docker/envfiles/test.env volumes: - ./bedrock/:/app/bedrock:delegated - ./bin/:/app/bin:delegated - ./docker/:/app/docker:delegated - ./etc/:/app/etc:delegated - ./lib/:/app/lib:delegated - ./media/:/app/media:delegated - ./root_files/:/app/root_files:delegated - ./scripts/:/app/scripts:delegated - ./tests/:/app/tests:delegated - ./test_infra/:/app/test_infra:delegated - ./wsgi/:/app/wsgi:delegated - ./l10n/:/app/l10n:delegated # run tests with no volumes test-image: image: mozmeao/bedrock_test:${GIT_COMMIT:-latest} env_file: docker/envfiles/test.env # the django app release: build: context: . target: release args: GIT_SHA: ${GIT_COMMIT:-latest} image: mozmeao/bedrock:${GIT_COMMIT:-latest} platform: linux/amd64 release-local: image: mozmeao/bedrock:${GIT_COMMIT:-latest} env_file: .env environment: RUN_SUPERVISOR: "true" SITE_MODE: "${SITE_MODE:-Mozorg}" ports: - "8000:8000" volumes: - ./bedrock/:/app/bedrock:delegated - ./bin/:/app/bin:delegated - ./docker/:/app/docker:delegated - ./etc/:/app/etc:delegated - ./lib/:/app/lib:delegated - ./root_files/:/app/root_files:delegated - ./scripts/:/app/scripts:delegated - ./wsgi/:/app/wsgi:delegated - ./locale/:/app/locale:delegated - ./l10n/:/app/l10n:delegated docs: image: mozmeao/bedrock_test:${GIT_COMMIT:-latest} platform: linux/amd64 command: sphinx-autobuild "docs" "docs/_build/html" --host 0.0.0.0 --port 8100 ports: - "8100:8100" volumes: - ./docs/:/app/docs:delegated builder: build: context: . target: python-builder image: mozmeao/bedrock_build:${GIT_COMMIT:-latest} platform: linux/amd64 app-base: build: context: . target: app-base image: mozmeao/bedrock_code:${GIT_COMMIT:-latest} platform: linux/amd64 # Python dependency management compile-requirements: image: mozmeao/bedrock_build:${GIT_COMMIT:-latest} platform: linux/amd64 command: ./bin/compile-requirements.sh volumes: - .:/app