OpenSlides/docker/docker-compose.dev.yml

188 lines
4.5 KiB
YAML

version: "3"
services:
datastore-reader:
image: openslides-datastore-reader-dev
depends_on:
- postgres
env_file: services.env
environment:
- DATASTORE_ENABLE_DEV_ENVIRONMENT=1
- NUM_WORKERS=8
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-datastore-service/datastore:/app/datastore
ports:
- 9010:9010
datastore-writer:
image: openslides-datastore-writer-dev
depends_on:
- postgres
- message-bus
env_file: services.env
volumes:
- ../openslides-datastore-service/datastore:/app/datastore
- ../openslides-datastore-service/cli:/app/cli
environment:
- DATASTORE_ENABLE_DEV_ENVIRONMENT=1
- COMMAND=create_initial_data
- DATASTORE_INITIAL_DATA_FILE=https://raw.githubusercontent.com/OpenSlides/openslides-backend/main/global/data/example-data.json
- OPENSLIDES_DEVELOPMENT=1
ports:
- 9011:9011
postgres:
image: postgres:11
environment:
- POSTGRES_USER=openslides
- POSTGRES_PASSWORD=openslides
- POSTGRES_DB=openslides
client:
image: openslides-client-dev
depends_on:
- backend
- autoupdate
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-client/client/src:/app/src
backend:
image: openslides-backend-dev
depends_on:
- datastore-reader
- datastore-writer
- auth
env_file: services.env
ports:
- "9002:9002"
- "9003:9003"
- "5678:5678"
environment:
- OPENSLIDES_DEVELOPMENT=1
- EMAIL_HOST=mailhog
- EMAIL_PORT=1025
# - EMAIL_HOST_USER username
# - EMAIL_HOST_PASSWORD secret
# EMAIL_CONNECTION_SECURITY use NONE, STARTTLS or SSL/TLS
- EMAIL_CONNECTION_SECURITY=NONE
- EMAIL_TIMEOUT=5
- EMAIL_ACCEPT_SELF_SIGNED_CERTIFICATE=false
- DEFAULT_FROM_EMAIL=noreply@example.com
volumes:
- ../openslides-backend/openslides_backend:/app/openslides_backend
- ../openslides-backend/migrations:/app/migrations
autoupdate:
image: openslides-autoupdate-dev
depends_on:
- datastore-reader
- message-bus
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-autoupdate-service/cmd:/root/cmd
- ../openslides-autoupdate-service/internal:/root/internal
- ../openslides-autoupdate-service/pkg:/root/pkg
icc:
image: openslides-icc-dev
depends_on:
- datastore-reader
- message-bus
- auth
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-icc-service/cmd:/root/cmd
- ../openslides-icc-service/internal:/root/internal
ports:
- "9007:9007"
auth:
image: openslides-auth-dev
depends_on:
- datastore-reader
- cache
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-auth-service/auth/src:/app/src
cache:
image: redis:latest
media:
image: openslides-media-dev
depends_on:
- backend
- postgres
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-media-service/src:/app/src
manage:
image: openslides-manage-dev
depends_on:
- auth
- datastore-writer
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
ports:
- "9008:9008"
message-bus:
image: redis:latest
proxy:
image: openslides-proxy-dev
depends_on:
- client
- backend
- autoupdate
ports:
- "8000:8000"
mailhog:
image: mailhog/mailhog
logging:
driver: "none" # disable saving logs
ports:
- "8025:8025" # web ui to check mails manually
vote:
image: openslides-vote-dev
depends_on:
- auth
- message-bus
- datastore-reader
- postgres
environment:
- OPENSLIDES_DEVELOPMENT=true
- VOTE_HOST=vote
- VOTE_PORT=9013
- DATASTORE_READER_HOST=datastore-reader
- MESSAGING=redis
- MESSAGE_BUS_HOST=message-bus
- VOTE_REDIS_HOST=cache
- VOTE_DATABASE_HOST=postgres
- VOTE_DATABASE_USER=openslides
- VOTE_DATABASE_PASSWORD=openslides
- VOTE_DATABASE_NAME=openslides
- AUTH=ticket
- AUTH_HOST=auth
- VOTE_DISABLE_LOG=true
volumes:
- ../openslides-vote-service/cmd:/root/cmd
- ../openslides-vote-service/internal:/root/internal
ports:
- "9013:9013"