Upload Files to Ubuntu Server
Upload the project files to your Ubuntu server. In this example, we use the /root/backup/
directory, but you can use any other folder.
Create a Python Virtual Environment
In /root/backup/
, run the following commands:
sudo apt update
pip install virtualenv
virtualenv venv
chmod -R 777 venv
Activate the Virtual Environment
source venv/bin/activate
Install Required Python Libraries
pip install requests filetype schedule flask flask-cors minio boto3 pytz
pip install flask-socketio eventlet psutil
Make the Restart Script Executable
chmod +x ./restart_flask.sh
Configure the config.py
File
Update the configuration file config.py
with your environment settings.
Option 1: PostgreSQL Running in Docker
import pytz
LOCAL_TZ = pytz.timezone('Asia/Bangkok')
USE_POSTGRES_DOCKER = True
IS_UPLOAD_MINIO = False
DB_NAME = "test1"
DB_USER = "odoo"
DB_PASSWORD = "password_db"
PG_PORT = 5432
PG_BIN = ''
PG_CONTAINER = 'postgres_db'
DUMP_PREFIX = DB_NAME
MINIO_URL = "http://localhost:9000"
ACCESS_KEY = "YOUR_ACCESS_KEY"
SECRET_KEY = "YOUR_SECRET_KEY"
BUCKET_BAK = "backups"
FILESTORE_DIR = "/root/odoo15_docker/odoo-data/filestore/"
BACKUP_DIR = "/home/ubuntu/pg_dumps"
MAX_FILES_DUMP = 3
PASSWORD_LOGIN_UI = 'your password login'
Option 2: PostgreSQL Installed Directly on Host Machine
import pytz
LOCAL_TZ = pytz.timezone('Asia/Bangkok')
USE_POSTGRES_DOCKER = False
IS_UPLOAD_MINIO = False
DB_NAME = "my_db"
DB_USER = "odoo"
DB_PASSWORD = "password_database"
PG_PORT = 5433
PG_BIN = '/usr/local/pgsql/bin/'
PG_CONTAINER = 'postgres-db'
DUMP_PREFIX = DB_NAME
FILESTORE_DIR = "/odoo/.local/share/Odoo/filestore/"
BACKUP_DIR = "/home/ubuntu/pg_dumps"
MAX_FILES_DUMP = 3
PASSWORD_LOGIN_UI = 'yourpass'
Start the Flask Backup Server
./restart_flask.sh
Backup System is Running
Click the "Backup Now" button in the UI to initiate a backup:
Restart Flask Server on Code Change
When you update your Python code, restart the Flask server:
./restart_flask.sh
Reply