# NOTE: This docker-compose file was constructed to create a base for # use by the End-to-end tests. It has not been fully tested for use in # constructing a true, stand-alone sync server. # If you're interested in doing that, please join our community in the # github issues and comments. # # Application runs off of port 8000. # you can test if it's available with # curl "http://localhost:8000/__heartbeat__" version: "3" services: sync-db: image: docker.io/library/mysql:5.7 volumes: - sync_db_data:/var/lib/mysql restart: always ports: - "3306" command: --explicit_defaults_for_timestamp environment: #MYSQL_RANDOM_ROOT_PASSWORD: yes MYSQL_ROOT_PASSWORD: random MYSQL_DATABASE: syncstorage MYSQL_USER: test MYSQL_PASSWORD: test healthcheck: test: ["CMD-SHELL", "mysqladmin -uroot -p$${MYSQL_ROOT_PASSWORD} version"] interval: 2s retries: 10 start_period: 20s timeout: 2s tokenserver-db: image: docker.io/library/mysql:5.7 volumes: - tokenserver_db_data:/var/lib/mysql restart: always ports: - "3306" command: --explicit_defaults_for_timestamp environment: #MYSQL_RANDOM_ROOT_PASSWORD: yes MYSQL_ROOT_PASSWORD: random MYSQL_DATABASE: tokenserver MYSQL_USER: test MYSQL_PASSWORD: test healthcheck: test: ["CMD-SHELL", "mysqladmin -uroot -p$${MYSQL_ROOT_PASSWORD} version"] interval: 2s retries: 10 start_period: 20s timeout: 2s mock-fxa-server: image: app:build restart: "no" entrypoint: "sh scripts/start_mock_fxa_server.sh" environment: MOCK_FXA_SERVER_HOST: 0.0.0.0 MOCK_FXA_SERVER_PORT: 6000 syncserver: # NOTE: The naming in the rest of this repository has been updated to reflect the fact # that Syncstorage and Tokenserver are now part of one repository/server called # "Syncserver" (updated from "syncstorage-rs"). We keep the legacy naming below for # backwards compatibility with previous Docker images. image: ${SYNCSTORAGE_RS_IMAGE:-syncstorage-rs:latest} restart: always ports: - "8000:8000" depends_on: sync-db: condition: service_healthy tokenserver-db: condition: service_healthy environment: SYNC_HOST: 0.0.0.0 SYNC_MASTER_SECRET: secret0 SYNC_SYNCSTORAGE__DATABASE_URL: mysql://test:test@sync-db:3306/syncstorage SYNC_TOKENSERVER__DATABASE_URL: mysql://test:test@tokenserver-db:3306/tokenserver SYNC_TOKENSERVER__RUN_MIGRATIONS: "true" volumes: sync_db_data: tokenserver_db_data: