version: '3' services: neo4j: build: ./docker/neo4j expose: - 7474 - 7687 environment: - NEO4J_dbms_security_procedures_unrestricted=apoc.* - NEO4J_apoc_import_file_enabled=true - NEO4J_apoc_export_file_enabled=true - NEO4J_dbms_shell_enabled=true volumes: - db_data:/data api: build: ./api expose: - 80 depends_on: - neo4j environment: - NEO4J_URI=bolt://neo4j:7687 - PHOTO_CACHE=/app/cache # Change This: The publicly exposed url for the api # For example if the server is available from the domain example.com, # change this value to http://example.com/api - API_ENDPOINT=http://localhost:8080/api - GRAPHQL_LISTEN_PORT=80 volumes: # Change This: Link photo paths from the host machine # Change this to the directory where your photos are located on your server. # If the photos are located at `/home/user/photos`, then change this value # to the following: `/home/user/photos:/photos:ro`. # You can mount multiple paths, if your photos are spread across multiple directories. - ./photos_path:/photos:ro - api_cache:/app/cache ui: build: context: ./ui args: # Change This: The publicly exposed url for the graphql api # For example if the server is available from the domain example.com, # change this value to http://example.com/api/graphql GRAPHQL_ENDPOINT: http://localhost:8080/api/graphql expose: - 80 depends_on: - api proxy: image: nginx volumes: - ./docker/nginx-proxy/default.conf:/etc/nginx/conf.d/default.conf ports: # Change This: Replace 8080 with the port you want photoview to be accessible at - 8080:80 depends_on: - api - ui volumes: db_data: api_cache: