BUCKYVERSE

Local Wiki.js dev environment (buckyverse.org)

Run Wiki.js locally, mirror production data from the DigitalOcean droplet, edit, and sync back. This avoids slow in-production sync and keeps edits fast.

Quick start

  1. Copy env and set production SSH

    cp .env.example .env
    # Edit .env: set PROD_SSH=root@your-droplet-ip
    # If Wiki.js on the droplet lives elsewhere, set PROD_COMPOSE_DIR (e.g. /opt/wikijs)
    
  2. Start local stack

    docker compose up -d
    

    First run: open http://localhost:3000 and complete Wiki.js setup (will be replaced when you pull from prod).

  3. Pull production data

    chmod +x scripts/*.sh
    ./scripts/pull-from-prod.sh
    

    This dumps the prod DB, restores it locally, and restarts local Wiki.js.

  4. Edit locally at http://localhost:3000 (no slow prod sync).

  5. Push back to production

    ./scripts/push-to-prod.sh
    

    Pushes to a new database on prod (current DB unchanged); you then point Wiki.js at the new DB for instant rollback if needed. See docs-site/docs/operations/wikijs-push-rollback.md.

Optional: sync wiki data (uploads/cache)

If you need to mirror the wiki data volume (uploads, cache), not just the DB:

Requirements

Performance (GraphQL / adding content)

If Wiki.js slows down when adding lots of content via the GraphQL API, see wikijs-graphql-performance.md. Local compose already sets a 2 GB Node heap; production can use the same NODE_OPTIONS and client-side throttling.

Docs