зеркало из https://github.com/mozilla/bedrock.git
164 строки
4.2 KiB
YAML
164 строки
4.2 KiB
YAML
services:
|
|
# Run webpack-dev-server and compile static assets.
|
|
#
|
|
# This is the primary server and it proxies the
|
|
# Django app so that Webpack can watch for file changes.
|
|
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:
|
|
WP_PROXY_URL: "http://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:
|
|
- docker/envfiles/local.env
|
|
- .env
|
|
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
|
|
|
|
# Standalone postgres database - for local runserver development.
|
|
# TODO: add this as a dependency of app/test/release
|
|
|
|
db:
|
|
image: postgres:15-alpine
|
|
environment:
|
|
POSTGRES_PASSWORD: postgres
|
|
ports:
|
|
- "5432:5432"
|
|
|
|
redis:
|
|
image: redis
|
|
platform: linux/amd64
|
|
|
|
worker:
|
|
image: mozmeao/bedrock_test:${GIT_COMMIT:-latest}
|
|
platform: linux/amd64
|
|
restart: unless-stopped
|
|
volumes:
|
|
- .:/app
|
|
env_file:
|
|
- docker/envfiles/local.env
|
|
- .env
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
command:
|
|
./bin/run-worker.sh
|
|
|
|
# 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:
|
|
- docker/envfiles/local.env
|
|
- .env
|
|
environment:
|
|
RUN_SUPERVISOR: "true"
|
|
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
|