I was able to create an image with expnextswiss inside.
This was my procedure:
Can you please have a look and let me know if you see potential for improvement?
Especially the part
apt update && apt install ffmpeg libsm6 libxext6
Would be nice to be run as part of the Dockerfile. Which dockerfile do i need to modify?
Step-by-Step Guide for Setting up ERPNextSwiss with Frappe Docker:
Clone the Frappe Docker Repository:
git clone https://github.com/frappe/frappe_docker
cd frappe_docker
Create an apps.json File:
Create an apps.json file with the following content:
[
{
"url": "https://github.com/frappe/payments",
"branch": "develop"
},
{
"url": "https://github.com/frappe/erpnext",
"branch": "version-15"
},
{
"url": "https://github.com/libracore/erpnextswiss.git",
"branch": "v15"
}
]
Replace the payments app with your desired example. Save this file, and then encode it to base64:
export APPS_JSON_BASE64=$(base64 -w 0 /path/to/apps.json)
Build the Docker Image:
docker build \
--build-arg=FRAPPE_PATH=https://github.com/frappe/frappe \
--build-arg=FRAPPE_BRANCH=version-15 \
--build-arg=PYTHON_VERSION=3.10.12 \
--build-arg=NODE_VERSION=18.18.2 \
--build-arg=APPS_JSON_BASE64=$APPS_JSON_BASE64 \
--tag=databyte.ch/user/repo/custom:1.0.0 \
--file=images/custom/Containerfile .
Run the Easy Installer Script:
wget https://raw.githubusercontent.com/frappe/bench/develop/easy-install.py
python3 easy-install.py --prod --email <yourmail> -s <yourdomain> -i databyte.ch/user/repo/custom:1.0.0
Note the parameter -i for specifying the image. The script will likely end with an error due to incorrect references. The new Compose file is named frappe-compose.yml.
Replace the Incorrect Version in the Compose File:
sed -i 's/:v15.1.0//g' frappe-compose.yml
Start the Docker Containers:
/usr/bin/docker compose -p frappe -f /root/frappe-compose.yml up -d
This process may take some time. After the start, create a new site:
docker compose -p frappe exec backend bench new-site <yourdomain> --no-mariadb-socket --db-root-password <yourdbpassword> --admin-password <yourpassword> --install-app erpnext --install-app erpnextswiss --set-default
Resolve ERPNextSwiss Installation Issues:
Install required tools inside the backend container:
docker compose -p frappe exec -it -u 0 backend bash
Inside the container, run:
apt update && apt install ffmpeg libsm6 libxext6
Exit the container and then install ERPNextSwiss:
bench --site <yourdomain> install-app erpnextswiss
If you encounter duplicate entry issues, force the installation:
bench --site <yourdomain> install-app erpnextswiss --force
Verify Installation:
The installation should now be complete, and you can access the website. If issues persist, refer to the