548 lines
19 KiB
YAML
548 lines
19 KiB
YAML
version: "3.4"
|
|
|
|
x-logging: &default-logging
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
services:
|
|
identifier:
|
|
image: semtech/mu-identifier:1.10.3
|
|
environment:
|
|
DEFAULT_MU_AUTH_ALLOWED_GROUPS_HEADER: '[{"variables":[],"name":"public"}]'
|
|
SESSION_COOKIE_SECURE: "on"
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
dispatcher:
|
|
image: semtech/mu-dispatcher:2.1.0-beta.2
|
|
volumes:
|
|
- ./config/dispatcher:/config
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
triplestore:
|
|
image: tenforce/virtuoso:1.3.2-virtuoso7.2.5.1
|
|
environment:
|
|
SPARQL_UPDATE: "true"
|
|
DEFAULT_GRAPH: "http://mu.semte.ch/application"
|
|
volumes:
|
|
- ./data/db:/data
|
|
- ./config/db/virtuoso.ini:/data/virtuoso.ini
|
|
restart: always
|
|
logging: *default-logging
|
|
db:
|
|
image: semtech/mu-authorization:feature-service-roam-r1.1
|
|
environment:
|
|
MU_SPARQL_ENDPOINT: "http://triplestore:8890/sparql"
|
|
LOG_OUTGOING_SPARQL_QUERIES: "true"
|
|
LOG_INCOMING_SPARQL_QUERIES: "true"
|
|
LOG_ACCESS_RIGHTS: "true"
|
|
LOG_OUTGOING_SPARQL_QUERY_ROUNDTRIP: "true"
|
|
ERROR_ON_UNWRITTEN_DATA: "true"
|
|
QUERY_MAX_PROCESSING_TIME: "300000"
|
|
QUERY_MAX_EXECUTION_TIME: "300000"
|
|
volumes:
|
|
- ./config/authorization:/config
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
db-cleanup:
|
|
image: lblod/db-cleanup-service:0.5.1
|
|
environment:
|
|
MU_SPARQL_ENDPOINT: "http://db:8890/sparql"
|
|
CRON_PATTERN: "23 */6 * * *"
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
migrations:
|
|
image: semtech/mu-migrations-service:0.9.0
|
|
links:
|
|
- triplestore:database
|
|
volumes:
|
|
- ./config/migrations:/data/migrations
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
migrations-triggering-indexing:
|
|
image: semtech/mu-migrations-service:0.9.0
|
|
links:
|
|
- db:database
|
|
volumes:
|
|
- ./config/migrations-triggering-indexing:/data/migrations
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
resource:
|
|
image: semtech/mu-cl-resources:1.24.0
|
|
environment:
|
|
CACHE_CLEAR_PATH: "http://cache/.mu/clear-keys"
|
|
links:
|
|
- db:database
|
|
volumes:
|
|
- ./config/resources:/config
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
cache:
|
|
image: semtech/mu-cache:2.0.2
|
|
links:
|
|
- resource:backend
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
kalliope-api:
|
|
image: lblod/jsonld-delta-service:2.0.0
|
|
environment:
|
|
LOG_SPARQL_ALL: "false"
|
|
SECURITY_CONFIG_PATH: "/config/security.json"
|
|
DUMP_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump"
|
|
volumes:
|
|
- ./config/kalliope:/config
|
|
- ./data/files:/share
|
|
links:
|
|
- db:database
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
deltanotifier:
|
|
image: cecemel/delta-notifier:0.2.0-beta.2
|
|
volumes:
|
|
- ./config/delta:/config
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
sink:
|
|
image: nginx:1.15.2
|
|
volumes:
|
|
- ./config/sink/sink.conf:/etc/nginx/conf.d/default.conf
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
login:
|
|
image: lblod/acmidm-login-service:0.9.2
|
|
environment:
|
|
MU_APPLICATION_AUTH_USERID_CLAIM: "vo_id"
|
|
MU_APPLICATION_GRAPH: "http://mu.semte.ch/graphs/contacthub/accounts"
|
|
MU_APPLICATION_AUTH_ROLE_CLAIM: "abb_organisatieportaal_rol_3d"
|
|
MU_APPLICATION_AUTH_DISCOVERY_URL: "https://authenticatie-ti.vlaanderen.be/op"
|
|
MU_APPLICATION_AUTH_CLIENT_ID: "677af572-2e2f-4e61-ad38-036723bb314c"
|
|
MU_APPLICATION_AUTH_REDIRECT_URI: "https://organisaties.abb.lblod.info/authorization/callback"
|
|
MU_APPLICATION_AUTH_CLIENT_SECRET: "secret"
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
links:
|
|
- db:database
|
|
accountdetail:
|
|
image: lblod/account-detail-service:0.1.0
|
|
labels:
|
|
- "logging=true"
|
|
environment:
|
|
MU_APPLICATION_GRAPH: "http://mu.semte.ch/graphs/contacthub/accounts"
|
|
links:
|
|
- db:database
|
|
restart: always
|
|
logging: *default-logging
|
|
privacy-worship:
|
|
image: lblod/privacy-centric-service:0.6.1
|
|
labels:
|
|
- "logging=true"
|
|
environment:
|
|
DEFAULT_GRAPH: "http://mu.semte.ch/graphs/worship-privacy-centric-graph"
|
|
SESSION_GRAPH: "http://mu.semte.ch/graphs/sessions"
|
|
APP_GRAPH: "http://mu.semte.ch/graphs/public"
|
|
restart: always
|
|
logging: *default-logging
|
|
links:
|
|
- db:database
|
|
privacy-unit:
|
|
image: lblod/privacy-centric-service:0.6.1
|
|
labels:
|
|
- "logging=true"
|
|
environment:
|
|
DEFAULT_GRAPH: "http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph"
|
|
SESSION_GRAPH: "http://mu.semte.ch/graphs/sessions"
|
|
APP_GRAPH: "http://mu.semte.ch/graphs/public"
|
|
restart: always
|
|
logging: *default-logging
|
|
links:
|
|
- db:database
|
|
adressenregister:
|
|
image: lblod/adressenregister-fuzzy-search-service:0.8.0
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
frontend:
|
|
image: lblod/frontend-organization-portal:1.28.0
|
|
volumes:
|
|
- ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf
|
|
environment:
|
|
EMBER_ENABLE_EDIT_CONTACT_DATA_FEATURE: "true"
|
|
EMBER_OAUTH_API_REDIRECT_URL: "https://organisaties.abb.lblod.info/authorization/callback"
|
|
EMBER_OAUTH_API_KEY: "677af572-2e2f-4e61-ad38-036723bb314c"
|
|
EMBER_OAUTH_API_BASE_URL: "https://authenticatie-ti.vlaanderen.be/op/v1/auth"
|
|
EMBER_OAUTH_API_LOGOUT_URL: "https://authenticatie-ti.vlaanderen.be/op/v1/logout"
|
|
EMBER_OAUTH_API_SCOPE: "openid vo profile abb_organisatieportaal"
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
uri-info:
|
|
image: redpencil/mu-uri-info-service:0.2.1
|
|
links:
|
|
- db:database
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
file:
|
|
image: semtech/mu-file-service:3.4.0
|
|
volumes:
|
|
- ./data/files:/share
|
|
links:
|
|
- db:database
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
jobs-controller:
|
|
image: lblod/job-controller-service:0.7.0
|
|
links:
|
|
- db:database
|
|
volumes:
|
|
- ./config/jobs-controller/:/config/
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
organizations-sync-with-sharepoint-jobs-initiator:
|
|
image: lblod/delta-producer-background-jobs-initiator:0.4.3
|
|
environment:
|
|
JOBS_GRAPH: "http://mu.semte.ch/graphs/jobs"
|
|
INITIAL_PUBLICATION_GRAPH_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/sp-sync/initialSyncing/organizations"
|
|
HEALING_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/sp-sync/healingOperation/organizations"
|
|
INITIAL_PUBLICATION_GRAPH_SYNC_TASK_OPERATION: "http://redpencil.data.gift/id/jobs/concept/TaskOperation/sp-sync/initialSyncing"
|
|
HEALING_TASK_OPERATION: "http://redpencil.data.gift/id/jobs/concept/TaskOperation/sp-sync/healing"
|
|
CRON_PATTERN_HEALING_JOB: "0 0 4 * * *" # everyday at 4 AM
|
|
START_INITIAL_SYNC: "false" # prefer to disable it now. We want to have feeling with how the DB acts.
|
|
ENABLE_DUMP_FILE_CREATION: "false"
|
|
links:
|
|
- db:database
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
organizations-sync-with-sharepoint:
|
|
image: lblod/op-sync-with-sharepoint-service:0.1.2
|
|
environment:
|
|
INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/sp-sync/initialSyncing/organizations"
|
|
HEALING_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/sp-sync/healingOperation/organizations"
|
|
USE_VIRTUOSO_FOR_EXPENSIVE_SELECTS: "true"
|
|
USERNAME: 'username-to-override'
|
|
PASSWORD: 'password-to-override'
|
|
SITE: 'site-to-override'
|
|
LIST: 'list-to-override'
|
|
links:
|
|
- db:database
|
|
volumes:
|
|
- ./config/sharepoint/sync/organizations/:/config/
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
construct-organization-relationships:
|
|
image: lblod/construct-organization-relationships-service:1.0.3
|
|
links:
|
|
- db:database
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
reasoner:
|
|
image: eyereasoner/reasoning-service:1.0.4
|
|
volumes:
|
|
- ./config/reasoner:/config
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
report-generation:
|
|
image: lblod/loket-report-generation-service:0.7.0
|
|
environment:
|
|
DEFAULT_GRAPH: "http://mu.semte.ch/graphs/shared"
|
|
ONLY_KEEP_LATEST_REPORT: "true"
|
|
links:
|
|
- db:database
|
|
volumes:
|
|
- ./data/files:/share
|
|
- ./config/reports:/config
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
download-exports:
|
|
image: lblod/download-exports-service:0.1.0
|
|
links:
|
|
- db:database
|
|
volumes:
|
|
- ./data/files:/share
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
kbo-data-sync:
|
|
image: lblod/sync-wegwijs-organization-service:2.0.2
|
|
links:
|
|
- db:database
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
|
|
################################################################################
|
|
# DELTA GENERAL
|
|
################################################################################
|
|
publication-triplestore:
|
|
image: redpencil/virtuoso:1.2.0-rc.1
|
|
environment:
|
|
SPARQL_UPDATE: "true"
|
|
DEFAULT_GRAPH: "http://mu.semte.ch/application"
|
|
volumes:
|
|
- ./data/publication-triplestore:/data
|
|
- ./config/publication-triplestore/virtuoso.ini:/data/virtuoso.ini
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
delta-producer-dump-file-publisher:
|
|
image: lblod/delta-producer-dump-file-publisher:0.10.3
|
|
volumes:
|
|
- ./config/delta-producer/dump-file-publisher:/config
|
|
- ./data/files:/share
|
|
links:
|
|
- db:database
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
delta-producer-background-jobs-initiator:
|
|
image: lblod/delta-producer-background-jobs-initiator:1.0.1
|
|
volumes:
|
|
- ./config/delta-producer/background-job-initiator:/config
|
|
links:
|
|
- db:database
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
delta-producer-publication-graph-maintainer:
|
|
image: lblod/delta-producer-publication-graph-maintainer:1.2.2
|
|
environment:
|
|
MAX_BODY_SIZE: "50mb"
|
|
PRETTY_PRINT_DIFF_JSON: "true"
|
|
PUBLICATION_VIRTUOSO_ENDPOINT: "http://publication-triplestore:8890/sparql"
|
|
PUBLICATION_MU_AUTH_ENDPOINT: "http://publication-triplestore:8890/sparql"
|
|
SUDO_QUERY_RETRY_FOR_HTTP_STATUS_CODES: "404,500,503"
|
|
CONFIG_SERVICES_JSON_PATH: '/config/publication-graph-maintainer/config.json'
|
|
volumes:
|
|
- ./config/delta-producer:/config
|
|
- ./data/files/:/share
|
|
links:
|
|
- db:database
|
|
- triplestore:virtuoso
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
|
|
################################################################################
|
|
# DELTA CONSUMERS
|
|
################################################################################
|
|
################################################################################
|
|
# LOKET MANDATARISSEN CONSUMERS
|
|
################################################################################
|
|
mandatarissen-consumer:
|
|
image: lblod/delta-consumer:0.0.24
|
|
environment:
|
|
DCR_SERVICE_NAME: "mandatarissen-consumer"
|
|
DCR_SYNC_BASE_URL: "https://loket.lblod.info" # replace with link to Loket API
|
|
DCR_SYNC_DATASET_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/MandatarissenCacheGraphDump"
|
|
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/initialSync/mandatarissen"
|
|
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/deltaSync/mandatarissen"
|
|
DCR_JOB_CREATOR_URI: "http://data.lblod.info/services/id/mandatarissen-consumer"
|
|
DCR_DISABLE_INITIAL_SYNC: "true"
|
|
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES: "true"
|
|
BATCH_SIZE: 1000
|
|
DCR_SYNC_FILES_PATH: "/sync/mandatarissen/files"
|
|
DCR_KEEP_DELTA_FILES: "true"
|
|
DCR_ENABLE_DELTA_CONTEXT: "true"
|
|
DCR_LANDING_ZONE_DATABASE: "triplestore"
|
|
DCR_LANDING_ZONE_GRAPH: "http://mu.semte.ch/graphs/landing-zone/mandatarissen"
|
|
volumes:
|
|
- ./config/loket-consumer/mandatarissen-dispatching:/config/triples-dispatching/custom-dispatching
|
|
- ./data/files/consumer-files/mandatarissen:/consumer-files/
|
|
restart: always
|
|
labels:
|
|
- "logging=true"
|
|
links:
|
|
- db:database
|
|
- triplestore:virtuoso
|
|
logging: *default-logging
|
|
|
|
################################################################################
|
|
# LOKET LEIDINGGEVENDEN CONSUMERS
|
|
################################################################################
|
|
leidinggevenden-consumer:
|
|
image: lblod/delta-consumer:0.0.24
|
|
environment:
|
|
DCR_SERVICE_NAME: "leidinggevenden-consumer"
|
|
DCR_SYNC_BASE_URL: "https://loket.lblod.info" # replace with link to Loket API
|
|
DCR_SYNC_DATASET_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/LeidinggevendenCacheGraphDump"
|
|
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/initialSync/leidinggevenden"
|
|
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/deltaSync/leidinggevenden"
|
|
DCR_JOB_CREATOR_URI: "http://data.lblod.info/services/id/leidinggevenden-consumer"
|
|
DCR_DISABLE_INITIAL_SYNC: "true"
|
|
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES: "true"
|
|
DCR_SYNC_FILES_PATH: "/sync/leidinggevenden/files"
|
|
DCR_KEEP_DELTA_FILES: "true"
|
|
BATCH_SIZE: 1000
|
|
DCR_ENABLE_DELTA_CONTEXT: "true"
|
|
DCR_LANDING_ZONE_DATABASE: "triplestore"
|
|
DCR_LANDING_ZONE_GRAPH: "http://mu.semte.ch/graphs/landing-zone/leidinggevenden"
|
|
volumes:
|
|
- ./config/loket-consumer/leidinggevenden-dispatching:/config/triples-dispatching/custom-dispatching
|
|
- ./data/files/consumer-files/leidinggevenden:/consumer-files/
|
|
restart: always
|
|
labels:
|
|
- "logging=true"
|
|
links:
|
|
- db:database
|
|
- triplestore:virtuoso
|
|
logging: *default-logging
|
|
|
|
################################################################################
|
|
# LOKET WORSHIP SENSITIVE CONSUMERS
|
|
################################################################################
|
|
worship-services-sensitive-consumer:
|
|
image: lblod/delta-consumer:0.0.24
|
|
environment:
|
|
DCR_SYNC_BASE_URL: "https://loket.lblod.info/"
|
|
DCR_SERVICE_NAME: "worship-services-sensitive-consumer"
|
|
DCR_SYNC_DATASET_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/WorshipServicesSensitiveCacheGraphDump"
|
|
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitive"
|
|
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitiveDeltaFileSyncing"
|
|
DCR_JOB_CREATOR_URI: "http://data.lblod.info/services/id/worship-services-sensitive-consumer"
|
|
DCR_DISABLE_INITIAL_SYNC: "true"
|
|
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES: "true"
|
|
DCR_SYNC_FILES_PATH: "/sync/worship-services-sensitive/files"
|
|
BATCH_SIZE: 50
|
|
SLEEP_BETWEEN_BATCHES: 10
|
|
DCR_KEEP_DELTA_FILES: "true"
|
|
DCR_ENABLE_DELTA_CONTEXT: "true"
|
|
DCR_LANDING_ZONE_DATABASE: "triplestore"
|
|
DCR_LANDING_ZONE_GRAPH: "http://mu.semte.ch/graphs/landing-zone/worship-services-sensitive"
|
|
volumes:
|
|
- ./config/loket-consumer/worship-services-sensitive-dispatching:/config/triples-dispatching/custom-dispatching
|
|
- ./data/files/consumer-files/worship-services-sensitive:/consumer-files/
|
|
restart: always
|
|
labels:
|
|
- "logging=true"
|
|
links:
|
|
- db:database
|
|
- triplestore:virtuoso
|
|
logging: *default-logging
|
|
|
|
################################################################################
|
|
# DELTA CONSUMERS: END
|
|
################################################################################
|
|
|
|
################################################################################
|
|
# LDES PRODUCERS
|
|
################################################################################
|
|
|
|
ldes-delta-pusher:
|
|
image: redpencil/ldes-delta-pusher:latest
|
|
profiles: ["dev"] # Disable ldes feed by default until ready for qa/prod
|
|
environment:
|
|
LDES_ENDPOINT: 'http://ldes-backend/organizations'
|
|
volumes:
|
|
- ./config/ldes-delta-pusher/:/config/
|
|
links:
|
|
- db:database
|
|
restart: always
|
|
|
|
ldes-backend:
|
|
image: redpencil/fragmentation-producer:0.4.0
|
|
profiles: ["dev"] # Disable ldes feed by default until ready for qa/prod
|
|
environment:
|
|
FOLDER_DEPTH: 1
|
|
PAGE_RESOURCES_COUNT: 50
|
|
LDES_STREAM_PREFIX: 'http://data.lblod.info/streams/op/'
|
|
TIME_TREE_RELATION_PATH: 'http://www.w3.org/ns/prov#generatedAtTime'
|
|
CACHE_SIZE: 10
|
|
DATA_FOLDER: '/data'
|
|
ENABLE_AUTH: 'false'
|
|
restart: always
|
|
volumes:
|
|
- './data/ldes-feed/:/data/'
|
|
|
|
################################################################################
|
|
# MU SEARCH
|
|
################################################################################
|
|
search:
|
|
image: semtech/mu-search:0.10.0
|
|
links:
|
|
- db:database
|
|
restart: always
|
|
volumes:
|
|
- ./config/search:/config
|
|
elasticsearch:
|
|
image: semtech/mu-search-elastic-backend:1.0.1
|
|
volumes:
|
|
- ./data/elasticsearch/:/usr/share/elasticsearch/data
|
|
environment:
|
|
- discovery.type=single-node
|
|
restart: always
|
|
|
|
error-report-service:
|
|
image: lblod/error-report-service:0.1.0
|
|
links:
|
|
- db:database
|
|
labels:
|
|
- "logging=true"
|
|
restart: always
|
|
logging: *default-logging
|
|
|
|
roles:
|
|
image: lblod/select-role-service:0.1.0
|
|
labels:
|
|
- "logging=true"
|
|
links:
|
|
- db:database
|
|
restart: always
|
|
logging: *default-logging
|
|
|
|
###################################################################################
|
|
# MU SCRIPTS
|
|
# #################################################################################
|
|
project-scripts:
|
|
image: semtech/mu-scripts:1.0.0
|
|
volumes:
|
|
- ./scripts/project:/app/scripts/
|
|
restart: "no"
|