Overview Frappe, Docker, self-hosting

I tried removing images , containers and removing frappe repository completely and strated from beginning and yet got the same error multiple times.
Every time i cheak the mariadb the db_name is missing.

Try stopping the containers, and pruning everything before re-composing. Note that this may affect other Docker objects so prune carefully.

https://docs.docker.com/engine/manage-resources/pruning/

As i said did pruning everything and started the whole process again.

  • As per my understanding the docker image should create database with the name of “db_name” in mariadb. but its happening.
  • is this happening because iam trying to install expnext and education app?
./installer.py -t develop -p 3.11.4 -n v18 -j apps.json -v

after run it i get this error


and the apps.json is this file

[
    {
        "url": "https://github.com/frappe/erpnext",
        "branch": "version-15"
    },
    {
        "url": "https://github.com/frappe/payments",
        "branch": "version-15"
    },
    {
        "url": "https://github.com/frappe/hrms",
        "branch": "version-15"
    },
    {
        "url": "https://github.com/frappe/insights",
        "branch": "version-3"
    },
    {
        "url": "https://github.com/frappe/crm",
        "branch": "main"
    },
    {
        "url": "https://github.com/frappe/hospitality",
        "branch": "develop"
    },
    {
        "url": "https://github.com/frappe/drive",
        "branch": "main"
    },
    {
        "url": "https://github.com/frappe/wiki",
        "branch": "master"
    }
]

Use version-15 branch of frappe. -t version-15 instead of -t develop

./installer.py --help for details.

1 Like

also i add the

 {
        "url": "https://github.com/frappe/frappe",
        "branch": "version-15"
    },

the asked me during this command

./installer.py -t version-15 -s manal.localhost -p 3.11.4 -n v18 -j apps.json -v

two questions and i answer N, N
and it worked


without do this

then i create repo in dockerhub to bush image in it

but when i build the image i get error
after i run this command in host machine

docker build \
  --build-arg=FRAPPE_PATH=https://github.com/frappe/frappe \
  --build-arg=FRAPPE_BRANCH=version-15\
  --build-arg=PYTHON_VERSION=3.11.4 \
  --build-arg=NODE_VERSION=18.17.1 \
  --build-arg=APPS_JSON_BASE64=$APPS_JSON_BASE64 \
  --tag=alsubaeimanal/buildwithmanal:latest \
  --file=images/custom/Containerfile .

Do not add frappe in apps.json

i remove it
form apps.json what should i do now?
rebuild container just or run it again? @revant_one

./installer.py -t version-15 -s manal.localhost -p 3.11.4 -n v18 -j apps.json -v

I think you are confused with development setup and production setup. Development setup is needed only if you are developing custom app. For using pre-built apps you just need to build custom production image mentioned here: frappe_docker/docs/custom-apps.md at main · frappe/frappe_docker · GitHub

./installer.py will quickly bootstrap a development frappe-bench for you.

docker build command will create new production image for you.

What is the difference between production image and development image

i want just to made my image with apps so first i want to test just with pre-built apps form frappe then i will rerun the same steps to made my image with custom app that is all
thx for your quick response @revant_one .

i change it in my case for install all apps with this command

 sed -i 's|--install-app erpnext|--install-app erpnext, payments, hrms, insights, crm, hospitality, drive, wiki|g' pwd.yml

its true? @revant_one

Use --install-app like this,

--install-app=app1 --install-app=app2...

1 Like
 sed -i 's|--install-app erpnext, payments, hrms, insights, crm, hospitality, drive, wiki|--install-app erpnext --install-app payments --install-app hrms --install-app insights --install-app crm --install-app hospitality --install-app drive --install-app wiki|g' pwd.yml

i did this but when i try to create the site i found an error



@revant_one

did you use your image in pwd.yml?

This part:

yes

Above service/command adds the apps from image to sites/apps.txt.

apps need to be present in your image, confirm using docker run --rm -it your/image:tag ls -1 apps


then what should i do? @revant_one i confirm its list before create the image ass you see here in container

build the image again?

No apps in your image. Only frappe. Fix that.

I really can’t help much. Things work for me. Every week I build and deploy these apps

You can see the history of builds and images.

i run these steps
in os do these

	git clone https://github.com/frappe/frappe_docker buildwithmanal
	cd buildwithmanal
	cp -R devcontainer-example .devcontainer
	cp -R development/vscode-example development/.vscode
	code .

in the container, we do this mean in vscode

	Reopen in devcontainer
	code apps.json
	./installer.py -t version-15 -s manal.localhost -p 3.11.4 -n v18 -j apps.json -v

in os do these *(question did the below command when the above container is run or stop) @revant_one

	export APPS_JSON_BASE64=$(base64 -w 0 ./development/apps.json)
	echo $APPS_JSON_BASE64
	docker build \
  --build-arg=FRAPPE_PATH=https://github.com/frappe/frappe \
  --build-arg=FRAPPE_BRANCH=version-15 \
  --build-arg=PYTHON_VERSION=3.11.4 \
  --build-arg=NODE_VERSION=18.17.1 \
  --build-arg=APPS_JSON_BASE64=$APPS_JSON_BASE64 \
  --tag=alsubaeimanal/buildwithmanal:latest \
  --file=images/custom/Containerfile .
 
	sed -i 's|frappe/erpnext:v15.54.3|alsubaeimanal/buildwithmanal:latest|g' pwd.yml
	sed -i 's|--install-app erpnext|--install-app erpnext --install-app payments --install-app hrms --install-app insights --install-app crm --install-app hospitality --install-app drive --install-app wiki|g' pwd.yml

	docker compose -p projectname -f pwd.yml up -d

I can’t help you further, I’m just copying and repeating what I say.

Try to read. Or just use Frappecloud. Don’t self host, it’s difficult.

the devcontainer setup ritual is not required (as I mentioned before)

1 Like