mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-26 00:55:10 +00:00
Merge 6fcbdfe174 into c2e45caba3
This commit is contained in:
commit
c99dff16ea
13 changed files with 132 additions and 64 deletions
81
Dockerfile
81
Dockerfile
|
|
@ -1,40 +1,63 @@
|
|||
|
||||
#bench Dockerfile
|
||||
|
||||
FROM ubuntu:16.04
|
||||
MAINTAINER frappé
|
||||
|
||||
#install pre-requisites
|
||||
USER root
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y iputils-ping
|
||||
RUN apt-get install -y git build-essential python-setuptools python-dev libffi-dev libssl-dev
|
||||
RUN apt-get install -y redis-tools software-properties-common libxrender1 libxext6 xfonts-75dpi xfonts-base
|
||||
RUN apt-get install -y libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev python-tk apt-transport-https libsasl2-dev libldap2-dev libtiff5-dev tcl8.6-dev tk8.6-dev
|
||||
RUN apt-get install -y wget
|
||||
RUN wget https://bootstrap.pypa.io/get-pip.py && python get-pip.py
|
||||
RUN pip install --upgrade setuptools pip
|
||||
RUN useradd -ms /bin/bash frappe
|
||||
RUN apt-get install -y curl
|
||||
RUN apt-get install -y rlwrap
|
||||
RUN apt-get install redis-tools
|
||||
RUN apt-get install -y nano
|
||||
RUN apt-get update && apt-get install -y \
|
||||
apt-transport-https \
|
||||
build-essential \
|
||||
curl \
|
||||
git \
|
||||
iputils-ping \
|
||||
libffi-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg8-dev \
|
||||
liblcms2-dev \
|
||||
libldap2-dev \
|
||||
libmysqlclient-dev \
|
||||
libsasl2-dev \
|
||||
libssl-dev \
|
||||
libtiff5-dev \
|
||||
libwebp-dev \
|
||||
libxext6 \
|
||||
libxrender1 \
|
||||
mariadb-client \
|
||||
mariadb-common \
|
||||
nano \
|
||||
python-dev \
|
||||
python-setuptools \
|
||||
python-tk \
|
||||
redis-tools \
|
||||
rlwrap \
|
||||
software-properties-common \
|
||||
sudo \
|
||||
tcl8.6-dev \
|
||||
tk8.6-dev \
|
||||
wget \
|
||||
wkhtmltopdf \
|
||||
xfonts-75dpi \
|
||||
xfonts-base \
|
||||
zlib1g-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
#install pip
|
||||
RUN wget https://bootstrap.pypa.io/get-pip.py \
|
||||
&& python get-pip.py \
|
||||
&& pip install --upgrade setuptools pip
|
||||
|
||||
#nodejs
|
||||
RUN apt-get install curl
|
||||
RUN curl https://deb.nodesource.com/node_6.x/pool/main/n/nodejs/nodejs_6.7.0-1nodesource1~xenial1_amd64.deb > node.deb \
|
||||
&& dpkg -i node.deb \
|
||||
&& rm node.deb
|
||||
RUN apt-get install -y wkhtmltopdf
|
||||
#install nodejs
|
||||
RUN curl https://deb.nodesource.com/node_6.x/pool/main/n/nodejs/nodejs_6.7.0-1nodesource1~xenial1_amd64.deb > node.deb \
|
||||
&& dpkg -i node.deb \
|
||||
&& rm node.deb
|
||||
|
||||
USER frappe
|
||||
WORKDIR /home/frappe
|
||||
RUN git clone -b develop https://github.com/frappe/bench.git bench-repo
|
||||
#add users & sudoers
|
||||
RUN useradd -ms /bin/bash frappe \
|
||||
&& usermod -aG sudo frappe \
|
||||
&& printf '# User rules for frappe\nfrappe ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/frappe \
|
||||
&& mkdir /home/frappe/frappe-bench \
|
||||
&& chown -R frappe:frappe /home/frappe/*
|
||||
|
||||
USER root
|
||||
RUN pip install -e bench-repo
|
||||
RUN apt-get install -y libmysqlclient-dev mariadb-client mariadb-common
|
||||
RUN chown -R frappe:frappe /home/frappe/*
|
||||
COPY ./conf/frappe/* /home/frappe/
|
||||
|
||||
USER frappe
|
||||
WORKDIR /home/frappe/frappe-bench
|
||||
|
|
|
|||
27
README.md
27
README.md
|
|
@ -98,9 +98,34 @@ Express dependency between services, which has two effects:
|
|||
|
||||
Note: Please do not remove the bench-repo directory the above commands will create
|
||||
|
||||
#### Basic Usage from Windows Hosr
|
||||
1. Command to start all the containers
|
||||
|
||||
docker-compose start
|
||||
|
||||
2. Command to enter your container
|
||||
|
||||
#### Basic Usage
|
||||
docker exec -it frappe bash
|
||||
|
||||
3. First time setup
|
||||
|
||||
cd .. & . init.sh
|
||||
|
||||
|
||||
##### Password
|
||||
- MariaDB
|
||||
|
||||
User : root
|
||||
|
||||
Pass : 123
|
||||
|
||||
- Sites
|
||||
|
||||
User : Administrator
|
||||
|
||||
Pass : admin
|
||||
|
||||
#### Basic Usage from Linux Host
|
||||
##### Make sure your current directory is frappe_docker
|
||||
1. First time setup
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
web: bench serve --port 8000
|
||||
|
||||
socketio: /usr/bin/node apps/frappe/socketio.js
|
||||
watch: bench watch
|
||||
schedule: bench schedule
|
||||
worker_short: bench worker --queue short
|
||||
worker_long: bench worker --queue long
|
||||
worker_default: bench worker --queue default
|
||||
web: bench serve --port 8000
|
||||
|
||||
socketio: /usr/bin/node apps/frappe/socketio.js
|
||||
watch: bench watch
|
||||
schedule: bench schedule
|
||||
worker_short: bench worker --queue short
|
||||
worker_long: bench worker --queue long
|
||||
worker_default: bench worker --queue default
|
||||
|
|
@ -1,20 +1,20 @@
|
|||
{
|
||||
"auto_update": false,
|
||||
"background_workers": 1,
|
||||
"db_host": "mariadb",
|
||||
"file_watcher_port": 6787,
|
||||
"frappe_user": "frappe",
|
||||
"gunicorn_workers": 4,
|
||||
"rebase_on_pull": false,
|
||||
"redis_cache": "redis://redis-cache:13000",
|
||||
"redis_queue": "redis://redis-queue:11000",
|
||||
"redis_socketio": "redis://redis-socketio:12000",
|
||||
"restart_supervisor_on_update": false,
|
||||
"root_password": "123",
|
||||
"serve_default_site": true,
|
||||
"shallow_clone": true,
|
||||
"socketio_port": 9000,
|
||||
"update_bench_on_update": true,
|
||||
"webserver_port": 8000,
|
||||
"admin_password": "admin"
|
||||
{
|
||||
"auto_update": false,
|
||||
"background_workers": 1,
|
||||
"db_host": "mariadb",
|
||||
"file_watcher_port": 6787,
|
||||
"frappe_user": "frappe",
|
||||
"gunicorn_workers": 4,
|
||||
"rebase_on_pull": false,
|
||||
"redis_cache": "redis://redis-cache:13000",
|
||||
"redis_queue": "redis://redis-queue:11000",
|
||||
"redis_socketio": "redis://redis-socketio:12000",
|
||||
"restart_supervisor_on_update": false,
|
||||
"root_password": "123",
|
||||
"serve_default_site": true,
|
||||
"shallow_clone": true,
|
||||
"socketio_port": 9000,
|
||||
"update_bench_on_update": true,
|
||||
"webserver_port": 8000,
|
||||
"admin_password": "admin"
|
||||
}
|
||||
19
conf/frappe/init.sh
Normal file
19
conf/frappe/init.sh
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "----------------------- [ Install bench ] ---------------------------------"
|
||||
git clone -b develop https://github.com/frappe/bench.git bench-repo
|
||||
sudo pip install -e bench-repo
|
||||
echo "----------------------- [ init bench ] ---------------------------------"
|
||||
bench init frappe-bench --skip-bench-mkdir --skip-redis-config-generation
|
||||
echo "----------------------- [ config bench ] ---------------------------------"
|
||||
cd frappe-bench
|
||||
mv /home/frappe/Procfile_docker /home/frappe/frappe-bench/Procfile
|
||||
mv /home/frappe/common_site_config_docker.json /home/frappe/frappe-bench/sites/common_site_config.json
|
||||
bench set-mariadb-host mariadb
|
||||
echo "----------------------- [ new site ] ---------------------------------"
|
||||
bench new-site site1.local --mariadb-root-password 123 --admin-password frappe
|
||||
echo "----------------------- [ install erpnext ] ---------------------------------"
|
||||
bench get-app erpnext https://github.com/frappe/erpnext
|
||||
bench --site site1.local install-app erpnext
|
||||
echo "----------------------- [ bench update ] ---------------------------------"
|
||||
bench update
|
||||
6
dbench
6
dbench
|
|
@ -16,10 +16,10 @@ if [[ $# -eq 0 ]]; then
|
|||
|
||||
elif [ $1 == 'init' ]
|
||||
then
|
||||
docker exec -i -u root frappe bash -c "cd /home/frappe && chown -R frappe:frappe ./*"
|
||||
docker exec -it frappe bash -c "cd .. && bench init frappe-bench --skip-bench-mkdir --skip-redis-config-generation && cd frappe-bench"
|
||||
docker exec -it frappe bash -c "mv Procfile_docker Procfile && mv sites/common_site_config_docker.json sites/common_site_config.json"
|
||||
docker exec -it -u root frappe bash -c "apt-get install vim && apt-get install sudo && usermod -aG sudo frappe && printf '# User rules for frappe\nfrappe ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/frappe"
|
||||
docker exec -it frappe bash -c "mv /home/frappe/Procfile_docker /home/frappe/frappe-bench/Procfile"
|
||||
docker exec -it frappe bash -c "mv /home/frappe/common_site_config_docker.json /home/frappe/frappe-bench/sites/common_site_config.json"
|
||||
docker exec -it -u root frappe bash -c "apt-get install vim"
|
||||
docker exec -it frappe bash -c "bench set-mariadb-host mariadb"
|
||||
docker exec -it frappe bash -c "bench new-site site1.local"
|
||||
docker exec -it frappe bash -c "bench get-app erpnext"
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ services:
|
|||
image: redis:alpine
|
||||
|
||||
volumes:
|
||||
- ./redis-conf/redis_cache.conf:/etc/conf.d/redis.conf
|
||||
- ./conf/redis-conf/redis_cache.conf:/etc/conf.d/redis.conf
|
||||
|
||||
command: ["redis-server","/etc/conf.d/redis.conf"]
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ services:
|
|||
image: redis:alpine
|
||||
|
||||
volumes:
|
||||
- ./redis-conf/redis_queue.conf:/etc/conf.d/redis.conf
|
||||
- ./conf/redis-conf/redis_queue.conf:/etc/conf.d/redis.conf
|
||||
|
||||
command: ["redis-server","/etc/conf.d/redis.conf"]
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ services:
|
|||
image: redis:alpine
|
||||
|
||||
volumes:
|
||||
- ./redis-conf/redis_socketio.conf:/etc/conf.d/redis.conf
|
||||
- ./conf/redis-conf/redis_socketio.conf:/etc/conf.d/redis.conf
|
||||
|
||||
command: ["redis-server","/etc/conf.d/redis.conf"]
|
||||
|
||||
|
|
@ -43,7 +43,8 @@ services:
|
|||
|
||||
frappe:
|
||||
volumes:
|
||||
- ./frappe-bench:/home/frappe/frappe-bench
|
||||
- ./frappe-bench/apps:/home/frappe/frappe-bench/apps
|
||||
- ./frappe-bench/sites:/home/frappe/frappe-bench/sites
|
||||
build: .
|
||||
ports:
|
||||
- "8000:8000" #webserver_port
|
||||
|
|
|
|||
Loading…
Reference in a new issue