mirror of
https://github.com/frappe/frappe_docker.git
synced 2024-11-08 14:21:05 +00:00
rudimentary docs
This commit is contained in:
parent
b254e018e5
commit
be8f0e4fa0
57
README.md
57
README.md
@ -161,6 +161,63 @@ docker exec -it \
|
||||
<project-name>_erpnext-python_1 docker-entrypoint.sh migrate
|
||||
```
|
||||
|
||||
### Custom apps
|
||||
|
||||
> For the sake of example, we'll be using a place holder called `[custom]`, and we'll be building off the edge image.
|
||||
|
||||
To add your own apps to the image, we'll need to create a custom image with the help of a special wrapper script
|
||||
|
||||
1. Create two folders called `[custom]-worker` and `[custom]-assets` in the `build` folder.
|
||||
|
||||
```bash
|
||||
cd frappe_docker
|
||||
mkdir ./build/[custom]-worker ./build/[custom]-assets
|
||||
```
|
||||
|
||||
2. Create a `Dockerfile` in `./build/[custom]-worker` with the following content:
|
||||
|
||||
```Dockerfile
|
||||
FROM frappe/erpnext-worker:edge
|
||||
|
||||
RUN install_app [custom] https://github.com/[username]/[custom] [branch]
|
||||
# Only add the branch if you are using a specific tag or branch.
|
||||
```
|
||||
|
||||
3. Create a `Dockerfile` in `./build/[custom]-assets` with the following content:
|
||||
|
||||
```Dockerfile
|
||||
FROM bitnami/node:12-prod
|
||||
|
||||
COPY build/[custom]-assets/install_app.sh /install_app
|
||||
|
||||
RUN /install_app [custom] https://github.com/[username]/[custom]
|
||||
|
||||
FROM frappe/erpnext-assets:edge
|
||||
|
||||
COPY --from=0 /home/frappe/frappe-bench/sites/ /var/www/html/
|
||||
COPY --from=0 /rsync /rsync
|
||||
RUN echo -n "\nerpnext" >> /var/www/html/apps.txt
|
||||
|
||||
VOLUME [ "/assets" ]
|
||||
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
```
|
||||
|
||||
4. Copy over the `install_app.sh` file from `./build/erpnext-assets`
|
||||
|
||||
```bash
|
||||
cp ./build/erpnext-assets/install.sh ./build/[custom]-assets
|
||||
```
|
||||
|
||||
5. Open up `./installation/docker-compose-custom.yml` and replace all instances of `[app]` with the name of your app.
|
||||
|
||||
```bash
|
||||
sed -i "s#\[app\]#[custom]#" ./installation/docker-compose-custom.yml
|
||||
```
|
||||
|
||||
6. Install like usuall, except that when you set the `INSTALL_APPS` variable set it to `erpnext,[custom]`.
|
||||
|
||||
### Troubleshoot
|
||||
|
||||
1. Remove containers and volumes, and clear redis cache:
|
||||
|
117
installation/docker-compose-custom.yml
Normal file
117
installation/docker-compose-custom.yml
Normal file
@ -0,0 +1,117 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
[app]-assets:
|
||||
image: [app]-assets
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./build/[app]-assets/Dockerfile
|
||||
restart: on-failure
|
||||
environment:
|
||||
- FRAPPE_PY=erpnext-python
|
||||
- FRAPPE_PY_PORT=8000
|
||||
- FRAPPE_SOCKETIO=frappe-socketio
|
||||
- SOCKETIO_PORT=9000
|
||||
- LETSENCRYPT_HOST=${SITES}
|
||||
- VIRTUAL_HOST=${SITES}
|
||||
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
|
||||
depends_on:
|
||||
- [app]-python
|
||||
- frappe-socketio
|
||||
- frappe-worker-default
|
||||
- frappe-worker-long
|
||||
- frappe-worker-short
|
||||
links:
|
||||
- [app]-python
|
||||
- frappe-socketio
|
||||
- frappe-worker-default
|
||||
- frappe-worker-long
|
||||
- frappe-worker-short
|
||||
volumes:
|
||||
- ./sites:/var/www/html/sites:rw
|
||||
- assets-vol:/assets:rw
|
||||
|
||||
[app]-python:
|
||||
image: [app]-worker
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./build/[app]-worker/Dockerfile
|
||||
restart: on-failure
|
||||
environment:
|
||||
- MARIADB_HOST=${MARIADB_HOST}
|
||||
- REDIS_CACHE=redis-cache:6379
|
||||
- REDIS_QUEUE=redis-queue:6379
|
||||
- REDIS_SOCKETIO=redis-socketio:6379
|
||||
- SOCKETIO_PORT=9000
|
||||
volumes:
|
||||
- ./sites:/home/frappe/frappe-bench/sites:rw
|
||||
- assets-vol:/home/frappe/frappe-bench/sites/assets:rw
|
||||
|
||||
frappe-socketio:
|
||||
image: frappe/frappe-socketio:${VERSION}
|
||||
restart: on-failure
|
||||
depends_on:
|
||||
- redis-socketio
|
||||
links:
|
||||
- redis-socketio
|
||||
volumes:
|
||||
- ./sites:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
frappe-worker-default:
|
||||
image: [app]-worker
|
||||
restart: on-failure
|
||||
command: worker
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- ./sites:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
frappe-worker-short:
|
||||
image: [app]-worker
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=short
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- ./sites:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
frappe-worker-long:
|
||||
image: [app]-worker
|
||||
restart: on-failure
|
||||
command: worker
|
||||
environment:
|
||||
- WORKER_TYPE=long
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- ./sites:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
frappe-schedule:
|
||||
image: [app]-worker
|
||||
restart: on-failure
|
||||
command: schedule
|
||||
depends_on:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
links:
|
||||
- redis-queue
|
||||
- redis-cache
|
||||
volumes:
|
||||
- ./sites:/home/frappe/frappe-bench/sites:rw
|
||||
|
||||
volumes:
|
||||
assets-vol:
|
Loading…
Reference in New Issue
Block a user