[{"data":1,"prerenderedAt":175},["ShallowReactive",2],{"seo-verification":3,"blog-bytebase-on-vps-sql-migration-reviews-and-team-access-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":107,"ctaBody":108,"ctaButton":109,"ctaUrl":110,"relatedPosts":111},274,"bytebase-on-vps-sql-migration-reviews-and-team-access",{"fr":10,"en":8,"ar":11},"bytebase-database-devops-vps","bytebase-على-vps-مراجعات-ترحيل-sql-ووصول-الفريق","Bytebase on VPS: SQL Migration Reviews and Team Access","Deploy Bytebase on your VPS and end risky SQL migrations: review workflow, 200+ SQL lint rules, full audit trail for PostgreSQL, MySQL, MongoDB and 20+ engines.",9,0,false,"2026-01-17T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},6,"Databases","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fbytebase-database-devops-vps-poster.svg",{"categorySlug":30,"appSlug":31},"development","bytebase","How many teams have broken production with an unprepared ALTER TABLE or an SQL file shared without review? Bytebase is an open-source DevOps platform that applies the same code review workflow you use for your application to your databases: submit, diff, approve, deploy in stages. In fifteen minutes, your ServOrbit VPS hosts a Bytebase server ready to manage PostgreSQL, MySQL, MariaDB, MongoDB, Redis, ClickHouse, and twenty more engines.",[34,38,48,51,70,73,100,103],{"type":35,"title":36,"body":37},"h2","The problem: SQL migrations remain the weak link in DevOps","Application code goes through a pull request: clear diff, mandatory review, CI green before merge. The SQL migration often arrives via message or shared file, is run manually on the production server, and if something goes wrong — manual rollback, in the best case.\n\nBytebase closes this gap. It imposes an explicit workflow: the developer submits the migration, a reviewer sees the diff, automatic lint rules run (missing index, missing `WHERE` clause, naming convention violations), then the migration is applied in order: env → staging → production. Each step is timestamped and searchable in an immutable audit log.",{"type":39,"title":40,"items":41},"ul","What Bytebase adds to your stack",[42,43,44,45,46,47],"**Structured SQL review**: 200+ built-in rules detect common anti-patterns before the migration reaches production","**Multi-environment pipeline**: dev → staging → prod with approval gates and rollback at each step","**Web access without direct credentials**: developers query production through Bytebase's SQL editor — credentials never leave the server","**Complete audit trail**: every query, migration, approval and rejection is logged with author name and timestamp","**GitOps integration**: connect GitHub or GitLab, Bytebase detects new migration files and opens a review task from the PR","**20+ supported engines**: PostgreSQL, MySQL, MariaDB, MongoDB, Redis, ClickHouse, SQL Server, Oracle, TiDB and more",{"type":35,"title":49,"body":50},"Architecture: one container, zero external dependencies","Bytebase runs as a single Docker container with an embedded PostgreSQL instance. No external database to provision, no Redis, no separate workers — just one `docker run` and port 8080. Version 3.21.1 (August 2026) is about 120 MB compressed and starts in under 20 seconds on a 1 GB VPS.\n\nIt then connects to your existing (or new) database servers as a client — it does not replace your PostgreSQL or MySQL, it connects to them to orchestrate changes. Your data infrastructure stays intact.",{"type":52,"title":53,"steps":54},"steps","Deploy Bytebase on ServOrbit in 15 minutes",[55,58,61,64,67],{"title":56,"body":57},"Order a VPS and deploy from the Marketplace","In your ServOrbit dashboard, choose a 1 GB+ RAM plan (2 GB for teams), open the Marketplace under **Development** and click **Deploy** on the Bytebase card. Docker is installed and the container starts automatically.",{"title":59,"body":60},"Create the admin account","Navigate to `https:\u002F\u002Fyour-domain` (if a domain is attached) or open an SSH tunnel — `ssh -L 8080:127.0.0.1:8080 root@\u003Cip>` — then open `http:\u002F\u002Flocalhost:8080`. The first-run wizard asks you to create your admin account: email and password.",{"title":62,"body":63},"Add your first database instance","In the interface, click **Instances → Add instance**. Enter the engine type (PostgreSQL, MySQL…), host, port and credentials. Bytebase tests the connection, discovers databases and schemas, and shows them in the tree.",{"title":65,"body":66},"Configure environments","In **Environments**, define your environments (Dev, Staging, Production) and associate each instance with its environment. You can require mandatory human approval for production migrations.",{"title":68,"body":69},"Submit and approve a migration","Click **New Issue → Database change**. Write your SQL, select target databases, add a reviewer and submit. The reviewer gets a notification, sees the diff and lint results, then approves or requests a correction. Bytebase applies in environment order and logs every action.",{"type":35,"title":71,"body":72},"GitOps: trigger reviews from your pull requests","Bytebase connects to your GitHub or GitLab repository. Configure the migration path (e.g. `db\u002Fmigrations\u002F`) and file pattern (e.g. `V{{version}}__{{description}}.sql`). Every PR adding a file in that path automatically opens a review task linked to the PR: migration status (pending, approved, applied) appears directly in the GitHub PR.\n\nThis integration closes the DevOps loop: code and migration travel together in the same PR, are reviewed by the same people, and deployed in a coordinated way.",{"type":74,"title":75,"headers":76,"rows":79},"comparison","Bytebase vs alternatives",[5,31,77,78],"liquibase","flyway",[80,85,90,93,97],[81,82,83,84],"Web review interface","✅ Built-in","❌ CLI only","❌ CLI \u002F plugin",[86,87,88,89],"Automatic SQL lint","✅ 200+ rules","⚠️ Limited","❌ No",[91,92,89,89],"Secure web SQL access","✅ Yes",[94,95,96,96],"Audit trail","✅ Complete","⚠️ Basic",[98,92,99,99],"Self-hosted, single container","✅ Yes (CLI)",{"type":35,"title":101,"body":102},"Team use: access without direct credentials","For teams, Bytebase's SQL editor replaces direct production access. You grant developers access to Bytebase — without giving them the database credentials. Bytebase proxies all queries, enforces masking policies on sensitive columns (email, phone, card number), and keeps a log of every operation.\n\nIn case of an incident, you can find exactly who ran what query, when, on which database. This is a prerequisite for SOC 2, ISO 27001 or GDPR compliance.",{"type":104,"title":105,"body":106},"tip","Community Edition: free and unlimited users","The Community Edition covers the full change management workflow, SQL editor, audit trail and GitOps integrations. Enterprise features (SSO, fine-grained RBAC, advanced data masking, custom approval workflows) are available in the paid plan. For most self-hosted teams, the Community Edition is sufficient.","A VPS to host your database governance infrastructure","Our developer plans start at 2 GB RAM with NVMe SSDs — exactly what you need to run Bytebase and your databases in the same environment. Deploy in one click from the Marketplace.","Deploy Bytebase","\u002Fmarketplace\u002Fdevelopment\u002Fbytebase",[112,133,154],{"id":113,"slug":114,"slugs":115,"title":118,"excerpt":119,"readTime":120,"views":15,"isPinned":16,"publishedAt":121,"category":122,"categories":127,"featuredImage":26,"bgImage":27,"posterImage":129,"relatedSolution":130},176,"self-host-openobserve-on-a-vps-unified-logs-metrics-and-traces",{"fr":116,"en":114,"ar":117},"self-host-openobserve-vps","استضافة-openobserve-على-vps-سجلات-ومقاييس-وتتبعات-موحدة","Self-Host OpenObserve on a VPS: Unified Logs, Metrics and Traces","Replace Elasticsearch + Grafana with OpenObserve: one Rust binary for logs, metrics, traces and dashboards at 140× lower storage cost. Full self-host guide.",7,"2026-07-10T00:00:00+00:00",{"id":120,"name":123,"slug":124,"color":125,"icon":126},"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[128],{"id":120,"name":123,"slug":124,"color":125,"icon":126},"\u002Fblog\u002Fcovers\u002Fself-host-openobserve-vps-poster.svg",{"categorySlug":131,"appSlug":132},"monitoring-observability","openobserve",{"id":134,"slug":135,"slugs":136,"title":139,"excerpt":140,"readTime":120,"views":15,"isPinned":16,"publishedAt":141,"category":142,"categories":148,"featuredImage":26,"bgImage":27,"posterImage":150,"relatedSolution":151},177,"self-host-langfuse-on-a-vps-llm-observability-no-saas-bill",{"fr":137,"en":135,"ar":138},"self-host-langfuse-vps","استضافة-langfuse-على-vps-مراقبة-llm-بلا-فاتورة-saas","Self-Host Langfuse on a VPS: LLM Observability, No SaaS Bill","Self-host Langfuse on a VPS — the open-source LLM observability platform. Trace every AI call, evaluate prompts, manage versions and track costs, no SaaS bill.","2026-07-12T00:00:00+00:00",{"id":143,"name":144,"slug":145,"color":146,"icon":147},1,"Artificial Intelligence","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[149],{"id":143,"name":144,"slug":145,"color":146,"icon":147},"\u002Fblog\u002Fcovers\u002Fself-host-langfuse-vps-poster.svg",{"categorySlug":152,"appSlug":153},"artificial-intelligence","langfuse",{"id":155,"slug":156,"slugs":157,"title":160,"excerpt":161,"readTime":162,"views":15,"isPinned":16,"publishedAt":163,"category":164,"categories":170,"featuredImage":26,"bgImage":27,"posterImage":172,"relatedSolution":173},44,"deploy-a-django-application-on-a-vps",{"fr":158,"en":156,"ar":159},"deployer-django-vps","نشر-تطبيق-django-على-vps","Deploy a Django Application on a VPS","Deploy Django on a VPS: Gunicorn, Nginx, PostgreSQL, Docker, and SSL. A complete guide for Python developers who want to self-host.",3,"2026-05-07T00:00:00+00:00",{"id":165,"name":166,"slug":167,"color":168,"icon":169},4,"Development","developpement","bg-warning\u002F10 text-warning","dev",[171],{"id":165,"name":166,"slug":167,"color":168,"icon":169},"\u002Fblog\u002Fcovers\u002Fdeployer-django-vps-poster.svg",{"categorySlug":30,"appSlug":174},"django",1787580993453]