services: docuseal: image: docuseal/docuseal:latest container_name: DocuSeal healthcheck: test: ["CMD-SHELL", "nc -z 127.0.0.1 3000 || exit 1"] interval: 10s timeout: 5s retries: 3 start_period: 90s ports: - 3766:3000 volumes: - /docker/docuseal/data:/data:rw environment: FORCE_SSL: true HOST: https://docuseal.yourname.synology.me DATABASE_URL: postgresql://docusealuser:docusealpass@db:5432/docuseal REDIS_URL: redis://:redispass@docuseal-redis:6379/0 SECRET_KEY_BASE: fv51geikzd8hjopiwbiajxqdxhkz1o8v0j5kxu1tdu6my556smqo296ugw19e3iprxl7gtrktuqa71l1yc2h0bed1di6isw3p0xh5wh0gj096x2zl1gy45vpr762ujvc depends_on: db: condition: service_healthy redis: condition: service_healthy db: image: postgres:17 container_name: DocuSeal-DB hostname: docuseal-db mem_limit: 1g cpu_shares: 1024 security_opt: - no-new-privileges:true healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "docuseal", "-U", "docusealuser"] timeout: 45s interval: 10s retries: 10 volumes: - /docker/docuseal/db:/var/lib/postgresql/data:rw environment: POSTGRES_DB: docuseal POSTGRES_USER: docusealuser POSTGRES_PASSWORD: docusealpass restart: on-failure:5 redis: image: redis:7 container_name: DocuSeal-REDIS command: - /bin/sh - -c - redis-server --requirepass redispass hostname: docuseal-redis security_opt: - no-new-privileges:true healthcheck: test: ["CMD-SHELL", "redis-cli ping || exit 1"] user: 1026:100 environment: - TZ=Europe/Berlin volumes: - /docker/docuseal/redis:/data:rw restart: on-failure:5