# This file defines the production settings. It is overwritten by docker-compose.override.yml, # which defines the development settings. The override.yml is loaded by default. Therefore it # is required to explicitly define if you want an production build: # > docker-compose -f docker-compose.yml up services: webapp: image: ghcr.io/ocelot-social-community/ocelot-social/webapp:${OCELOT_VERSION:-latest} build: context: . dockerfile: ./webapp/Dockerfile target: production depends_on: - backend ports: - 3000:3000 # Storybook: Todo externalize, its not working anyways # - 3002:3002 environment: # Envs used in Dockerfile # - DOCKER_WORKDIR="/app" # - PORT="3000" - NODE_ENV="production" # Application only envs - HOST=0.0.0.0 # This is nuxt specific, alternative value is HOST=webapp - GRAPHQL_URI=http://backend:4000 env_file: - ./webapp/.env backend: image: ghcr.io/ocelot-social-community/ocelot-social/backend:${OCELOT_VERSION:-latest} build: context: ./backend target: production depends_on: - neo4j ports: - 4000:4000 environment: # Envs used in Dockerfile # - DOCKER_WORKDIR="/app" # - PORT="4000" - NODE_ENV="production" # Application only envs - NEO4J_URI=bolt://neo4j:7687 - GRAPHQL_URI=http://backend:4000 - CLIENT_URI=http://webapp:3000 env_file: - ./backend/.env maintenance: image: ghcr.io/ocelot-social-community/ocelot-social/maintenance:${OCELOT_VERSION:-latest} build: context: . dockerfile: ./webapp/Dockerfile.maintenance ports: - 3001:80 neo4j: image: ghcr.io/ocelot-social-community/ocelot-social/neo4j:community build: context: ./neo4j # community edition 👆🏼, because we have no enterprise licence 👇🏼 at the moment target: community ports: - 7687:7687 volumes: - neo4j_data:/data environment: # settings reference: https://neo4j.com/docs/operations-manual/4.4/docker/ref-settings/ # TODO: This sounds scary for a production environment - NEO4J_AUTH=none - NEO4J_dbms_security_procedures_unrestricted=algo.*,apoc.* - NEO4J_dbms_allow__format__migration=true - NEO4J_dbms_allow__upgrade=true # uncomment following line for Neo4j Enterprise version instead of Community version # TODO: clarify if that is the only thing needed to unlock the Enterprise version # - NEO4J_ACCEPT_LICENSE_AGREEMENT=yes # set the name of the database to be used # - NEO4J_dbms_default__database=graph.db # - NEO4J_dbms_default__database=neo4j # TODO: Remove the playground from production # bring the database in offline mode to export or load dumps # command: ["tail", "-f", "/dev/null"] volumes: neo4j_data: