Category: 中小型企業開源軟體應用
-
erpNEXT deploy, conventional way
System Update & Prerequisites
sudo apt update && sudo apt upgrade -y sudo apt install -y git python3-dev python3-pip python3-setuptools python3-venv python3-full build-essential libmysqlclient-dev libssl-dev libffi-dev redis-server curl software-properties-common pkg-configInstall MariaDBate & Prerequisites
因為 host Ubuntu 巳有安裝mairadb,改用docker 佈署mariadb
# 建立mariadb directory mkdir /path/to/mariadb/folder cd /path/to/mariadb/folder # copy 建立setup.sh chmod +x setup.sh ./setup.sh # 啟動dokcer mairadb docker compose up -d # 確認mariadb 是否運行正常 docker compose ps mysql -h 127.0.0.1 -P 3406 -u root -p# setup.sh #!/usr/bin/env bash # Get the directory where the script is located BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" echo "Setting up Frappe MariaDB environment in $BASE_DIR..." # 1. Create Data Directory in the current path mkdir -p "$BASE_DIR/data" # 2. Create .env File cat <<EOF > "$BASE_DIR/.env" # Database Credentials MYSQL_ROOT_PASSWORD=frappe_admin_123 # Host Port Configuration DB_HOST_PORT=3306 # 如果 host 巳有佈署mariadb,必需變更port以避免衝宊 EOF # 3. Create docker-compose.yml cat <<EOF > "$BASE_DIR/docker-compose.yml" services: mariadb: image: mariadb:10.6 container_name: frappe-mariadb command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci - --skip-character-set-client-handshake - --innodb-file-format=barracuda - --innodb-file-per-table=1 - --innodb-large-prefix=1 - --innodb-read-only-compressed=OFF environment: - MYSQL_ROOT_PASSWORD=\${MYSQL_ROOT_PASSWORD} volumes: - ./data:/var/lib/mysql ports: - "\${DB_HOST_PORT}:3306" restart: always EOF # 4. Set Permissions chmod -R 775 "$BASE_DIR/data" echo "-------------------------------------------------------" echo "SUCCESS: Configuration files and data folder created in:" echo "$BASE_DIR" echo "" echo "ATTENTION: Please revise the PORT and ADMIN PASSWORD in .env before running 'docker compose up -d'" echo "-------------------------------------------------------"Install Node.js and Yarn
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install 20 npm install -g yarnInstall Frappe Bench
sudo apt update sudo apt install -y pipx pipx ensurepath pipx install uv # you may need to restart your terminal or run source ~/.bashrcInstall Frappe Bench via pipx
pipx install frappe-bench bench --versionInitialize Bench
bench init frappeBENCH --frappe-branch version-15 cd my-frappe-bench # Generate the missing config file bench setup supervisor # Link it (if not already linked) sudo ln -sf $(pwd)/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf # Load it into Supervisor sudo supervisorctl reread sudo supervisorctl update