# cp .env.example .env — Compose reads it from this directory. # Back the finished .env up with the database: without ENCRYPTION_KEY the # stored notes cannot be read again. # Both: openssl rand -hex 32 JWT_SECRET= ENCRYPTION_KEY= # The first administrator. There is no public sign-up — every other account is # created in the app under Account → Administration. Used only until an admin # exists, then ignored, so they can never reset anything later. INKNOTE_ADMIN_USER= INKNOTE_ADMIN_PASSWORD= # Where the notes are kept on the host. Defaults to /srv/inknote in production # and ./data for development — leave it commented unless you want another path, # since one .env serves both. Create the directory first, or Docker creates it # as root and the server (uid 1000) cannot write: # mkdir -p /srv/inknote/{db,uploads} && chown -R 1000:1000 /srv/inknote # INKNOTE_DATA_DIR=/srv/inknote # # Under /root also run "chmod o+x /root", or the server cannot reach it at all. # That and the alternative: readme.md → Where the data lives. # ── Optional ── unset keeps the default shown # INKNOTE_MAX_IMAGE_MB=25 # pasted images # INKNOTE_MAX_PDF_MB=200 # imported PDFs, limited separately # INKNOTE_UID=1000 # must own INKNOTE_DATA_DIR # INKNOTE_GID=1000 # MAX_VERSIONS_PER_NOTE=50 # VERSION_RETENTION_DAYS=90 # VERSION_COALESCE_MINUTES=5 # ALLOWED_ORIGINS= # only if the UI is on another host