diff --git a/docker-compose.yml b/docker-compose.yml index d391bc5..8c526e9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,194 +1,218 @@ -x-server-discovery: &server-discovery - NOTESNOOK_SERVER_PORT: 5264 - NOTESNOOK_SERVER_HOST: notesnook-server - IDENTITY_SERVER_PORT: 8264 - IDENTITY_SERVER_HOST: identity-server - SSE_SERVER_PORT: 7264 - SSE_SERVER_HOST: sse-server - SELF_HOSTED: 1 - -x-env-files: &env-files - - .env - -services: - validate: - image: vandot/alpine-bash - entrypoint: /bin/bash - env_file: *env-files - command: - - -c - - | - # List of required environment variables - required_vars=( - "INSTANCE_NAME" - "NOTESNOOK_API_SECRET" - "DISABLE_ACCOUNT_CREATION" - "SMTP_USERNAME" - "SMTP_PASSWORD" - "SMTP_HOST" - "SMTP_PORT" - "IDENTITY_SERVER_DOMAIN" - "NOTESNOOK_APP_HOST" - ) - - # Check each required environment variable - for var in "$${required_vars[@]}"; do - if [ -z "$${!var}" ]; then - echo "Error: Required environment variable $$var is not set." - exit 1 - fi - done - - echo "All required environment variables are set." - # Ensure the validate service runs first - restart: "no" - - notesnook-db: - image: mongo:7.0.12 - hostname: notesnook-db - volumes: - - ${HOME}/.notesnook/db/data:/data/db - - ${HOME}/.notesnook/db/configdb:/data/configdb - networks: - - notesnook - command: --replSet rs0 --bind_ip_all - depends_on: - validate: - condition: service_completed_successfully - # the notesnook sync server requires transactions which only work - # with a MongoDB replica set. - # This job just runs `rs.initiate()` on our mongodb instance - # upgrading it to a replica set. This is only required once but we running - # it multiple times is no issue. - initiate-rs0: - image: mongo:7.0.12 - networks: - - notesnook - depends_on: - - notesnook-db - entrypoint: /bin/sh - command: - - -c - - | - mongosh mongodb://notesnook-db:27017 <