### Initialize and start the development environment Source: https://docs.hycanvas.com/operate/docker Copy the environment template and start the development containers using the specified Compose file. ```bash cp .env.example .env # optional: add OIDC/SMTP/S3 keys; a dev JWT_SECRET is provided docker compose -f docker-compose.dev.yml up --build ``` -------------------------------- ### Initialize and Start Docker Compose Source: https://docs.hycanvas.com/operate/docker Commands to prepare the environment file and start the application using the default Docker Compose configuration. ```bash cp .env.example .env # set JWT_SECRET, APP_PORT, and a reachable DATABASE_URL docker compose up -d # pulls the published image (bring-your-own Postgres) ``` -------------------------------- ### Start HyCanvas server Source: https://docs.hycanvas.com/operate/setup-wizard Start the HyCanvas server in the foreground or as a background service. Run as a regular user, never root. With no .env present, an interactive terminal asks whether to set up in the browser (default) or in the terminal. ```bash ./hycanvas start # foreground, or: ./hycanvas service start # as a background service ``` -------------------------------- ### Deploy HyCanvas with Docker network and Postgres Source: https://docs.hycanvas.com/operate/docker Creates a dedicated Docker network, starts a PostgreSQL container, and launches the HyCanvas application container connected to the same network. ```bash docker network create hycanvas-net docker run -d --name hycanvas-db --network hycanvas-net \ -e POSTGRES_PASSWORD=hycanvas -e POSTGRES_DB=hycanvas \ postgres:16 docker run -d --name hycanvas --network hycanvas-net -p 8005:8005 \ -e DATABASE_URL="postgresql://postgres:hycanvas@hycanvas-db:5432/hycanvas?schema=public" \ -e JWT_SECRET="$(openssl rand -hex 32)" \ -v hycanvas-storage:/app/.data/storage \ hycanvas/hycanvas:latest ``` -------------------------------- ### Configure Optional Add-ons Source: https://docs.hycanvas.com/operate/docker Environment variables for optional features including public URL, OIDC SSO, and SMTP email settings. ```bash # Public base URL, used in links inside outbound email. Set to your real origin. APP_URL="https://canvas.yourdomain.com" # SSO (generic OIDC). The "Continue with ..." button appears only when all three are set. OIDC_ISSUER="https://accounts.google.com" OIDC_CLIENT_ID="" OIDC_CLIENT_SECRET="" # Real email (otherwise verify/reset/invite links go to the dev outbox). SMTP_HOST="smtp.example.com" SMTP_PORT="587" SMTP_USERNAME="apikey-or-user" SMTP_PASSWORD="..." SMTP_FROM="no-reply@yourdomain.com" ``` -------------------------------- ### Configure .env for Managed Postgres Source: https://docs.hycanvas.com/operate/docker Minimum required environment variables for running the published Hycanvas image with an external, managed Postgres database. ```bash # Required: signs sessions and encrypts stored secrets. Generate with: openssl rand -hex 32 JWT_SECRET="replace-with-a-32-byte-random-hex" # Your managed Postgres. The database must already exist (the app creates its own # tables, not the database). For a Postgres on the host machine, use # host.docker.internal instead of localhost. DATABASE_URL="postgresql://user:pass@your-db-host:5432/hycanvas?schema=public" # Host port the app is published on (maps to the container's :8005). APP_PORT=8005 ``` -------------------------------- ### Persist storage with docker run Source: https://docs.hycanvas.com/operate/docker Use this volume mount flag when running the container directly to ensure uploads, exports, and snapshots persist across container restarts. ```bash -v hycanvas-storage:/app/.data/storage ``` -------------------------------- ### Configure .env for Bundled Postgres Source: https://docs.hycanvas.com/operate/docker Environment variables required when using docker-compose.prod.yml with the bundled Postgres profile enabled. ```bash JWT_SECRET="replace-with-a-32-byte-random-hex" # Bundled Postgres credentials (prod.yml provisions the db container and builds # DATABASE_URL from them). Use a strong password for any real deployment. POSTGRES_USER="hycanvas" POSTGRES_PASSWORD="change-this-password" POSTGRES_DB="hycanvas" COMPOSE_PROFILES="bundled" APP_PORT=8005 ``` -------------------------------- ### First-run wizard URL and access secret Source: https://docs.hycanvas.com/operate/setup-wizard Output printed by the server on first run, showing the wizard URL and a one-time wizard access secret. Keep the terminal visible or read it later with `./hycanvas service log`. ```text ==> First-run setup: open http://localhost:8005/installation/step-1 ==> Wizard access secret: 4f2a9c... ``` -------------------------------- ### Upgrade Hycanvas binary Source: https://docs.hycanvas.com/operate/setup-wizard Commands to stop the service, back up the existing binary, extract the new release, and restart the service. ```bash ./hycanvas service stop cp hycanvas hycanvas.bak # rollback insurance tar -xzf hycanvas_vX.Y.Z_linux_amd64.tar.gz # replaces ./hycanvas ./hycanvas service start # migrations run automatically on boot ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.