version: '3.8' services: app: image: docuseal/docuseal:latest container_name: docuseal-app ports: - 3000:3000/tcp environment: - BUNDLE_APP_CONFIG=/usr/local/bundle - BUNDLE_SILENCE_ROOT_WARNING=1 - BUNDLE_WITHOUT=development:test - DATABASE_URL=postgresql://postgres:postgres@postgres:5432/docuseal - GEM_HOME=/usr/local/bundle - LANG=C.UTF-8 - LD_PRELOAD=/lib/libgcompat.so.0 - OPENSSL_CONF=/app/openssl_legacy.cnf - PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - RAILS_ENV=production - RUBY_DOWNLOAD_SHA256=ebf1c2eb58f5da17c23e965d658dd7e6202c5c50f5179154c5574452bef4b3e0 - RUBY_DOWNLOAD_URL=https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.2.tar.xz - RUBY_VERSION=3.4.2 - WORKDIR=/data/docuseal volumes: - /share/Media/container-station-data/docuseal/data:/data/docuseal networks: - docuseal-net - proxy labels: - "traefik.enable=true" - "traefik.http.routers.docuseal.rule=Host(`docuseal.kaspers.us`)" # ⚠️ UPDATE to your domain - "traefik.http.routers.docuseal.entrypoints=websecure" # Assumes your HTTP entrypoint is 'web' - "traefik.http.services.docuseal.loadbalancer.server.port=3000" - "traefik.http.routers.docuseal.tls=true" - "traefik.http.routers.docuseal.tls.certresolver=letsencrypt" - "traefik.docker.network=proxy" - "traefik.constraint=proxy-public" postgres: image: postgres:15 container_name: docuseal-db environment: - GOSU_VERSION=1.17 - LANG=en_US.utf8 - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/15/bin - PGDATA=/var/lib/postgresql/data - PG_MAJOR=15 - PG_VERSION=15.12-1.pgdg120+1 - POSTGRES_DB=docuseal - POSTGRES_PASSWORD=postgres - POSTGRES_USER=postgres volumes: - /share/Media/container-station-data/docuseal/db:/var/lib/postgresql/data networks: - docuseal-net networks: docuseal-net: driver: bridge proxy: external: true