← Back to list

Cara migrasi database odoo ke vps baru menggunakan cli

Step 1 — Backup Database di VPS Lama

Dimaskanjeng · 2026-06-16 10:25 · 0 claps · 1.4 min read
#odoo #docker #vps #postgresql #odoo-development
Open on Medium ↗
Wiki topics: ☁️ · DevOps & Cloud

Cara migrasi database odoo ke vps baru menggunakan cli

Step 1 — Backup Database di VPS Lama

# Dump database ke dalam container PostgreSQL
docker exec postgresql pg_dump -U <PG_USER> -d <DB_NAME> -F c -f /tmp/backup_odoo.dump

# Copy dump keluar dari container ke host VPS lama
docker cp postgresql:/tmp/backup_odoo.dump /root/backup_odoo.dump

Step 2 — Identifikasi Lokasi Filestore di VPS Lama

# Cek volume yang digunakan container Odoo
docker inspect <odoo_container> | grep -A 5 "Mounts"

# Verifikasi lokasi filestore
docker exec -u root <odoo_container> find /var/lib/odoo/ -type f | head -20

Filestore biasanya ada di:

/var/lib/odoo/.local/share/Odoo/filestore/<DB_NAME>/

Step 3 — Transfer ke VPS Baru

# Transfer dump DB (jalankan dari VPS lama)
scp /root/backup_odoo.dump root@<IP_VPS_BARU>:/root/

# Buat direktori filestore dulu di VPS baru
mkdir -p /root/Docker/odoo/<service>/data/.local/share/Odoo/filestore/

# Transfer filestore (jalankan dari VPS lama)
scp -r /path/to/filestore/<DB_NAME> root@<IP_VPS_BARU>:/root/Docker/odoo/<service>/data/.local/share/Odoo/filestore/

Step 4 — Setup PostgreSQL di VPS Baru

# Buat user baru
docker exec postgresql psql -U <PG_USER> -d postgres -c "CREATE USER \"<NEW_USER>\" WITH PASSWORD '<PASSWORD>';"

# Buat database baru
docker exec postgresql psql -U <PG_USER> -d postgres -c "CREATE DATABASE <DB_NAME> OWNER \"<NEW_USER>\";"

# Copy dump ke container PostgreSQL VPS baru
docker cp /root/backup_odoo.dump postgresql:/tmp/backup_odoo.dump

# Restore database
docker exec postgresql pg_restore -U <PG_USER> -d <DB_NAME> --no-owner --role="<NEW_USER>" /tmp/backup_odoo.dump

Step 5 — Setup Volume & Permission di VPS Baru Update docker-compose.yml Odoo — tambahkan bind mount:

volumes:
  - ./conf:/etc/odoo
  - ./addons/odoo18enterprise:/mnt/extra-addons
  - ./data:/var/lib/odoo   # tambahkan ini

Fix permission folder data:

# Cek UID user odoo di dalam container
docker exec <odoo_container> id odoo

# Set ownership sesuai UID (biasanya 100:101)
chown -R 100:101 /root/Docker/odoo/<service>/data/

Step 6 — Konfigurasi odoo.conf

[options]
db_host = postgresql
db_port = 5432
db_user = <DB_USER>
db_password = <DB_PASSWORD>
db_name = <DB_NAME>
db_filter = <DB_NAME>

addons_path = /mnt/extra-addons,/mnt/extra-addons/custom-development
proxy_mode = True
admin_passwd = <MASTER_PASSWORD>

Step 7 — Rename Filestore (jika nama DB berbeda)

cd /root/Docker/odoo/<service>/data/.local/share/Odoo/filestore/

# Copy filestore dengan nama DB baru
cp -r <DB_NAME_LAMA> <DB_NAME_BARU>

Step 8 — Restart & Verifikasi

# Restart container
docker compose down && docker compose up -d

# Monitor log
docker logs -f <odoo_container>

# Verifikasi data
docker exec postgresql psql -U <PG_USER> -d <DB_NAME> -c "SELECT COUNT(*) FROM res_partner;"

메타데이터
post_id
9e14e2f834cb
slug
cara-migrasi-database-odoo-ke-vps-baru-menggunakan-cli-9e14e2f834cb
url
https://medium.com/@dimaskanjeng113/cara-migrasi-database-odoo-ke-vps-baru-menggunakan-cli-9e14e2f834cb
canonical_url
https://medium.com/@dimaskanjeng113/cara-migrasi-database-odoo-ke-vps-baru-menggunakan-cli-9e14e2f834cb
author_url
https://medium.com/@dimaskanjeng113
status
ok
fetched_at
2026-06-20 20:29:01