mirror of
https://github.com/frappe/frappe_docker.git
synced 2025-01-03 14:17:33 +00:00
First working dockerization
This commit is contained in:
commit
40fbff8e77
59
Dockerfile
Normal file
59
Dockerfile
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
|
||||||
|
#bench Dockerfile
|
||||||
|
|
||||||
|
FROM ubuntu:16.04
|
||||||
|
MAINTAINER Vishal Seshagiri
|
||||||
|
|
||||||
|
USER root
|
||||||
|
RUN apt-get update
|
||||||
|
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-server
|
||||||
|
RUN apt-get install -y nano
|
||||||
|
|
||||||
|
#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
|
||||||
|
|
||||||
|
USER frappe
|
||||||
|
WORKDIR /home/frappe
|
||||||
|
RUN git clone https://github.com/frappe/bench bench-repo
|
||||||
|
|
||||||
|
USER root
|
||||||
|
RUN pip install -e bench-repo
|
||||||
|
RUN apt-get install -y libmysqlclient-dev mariadb-client mariadb-common
|
||||||
|
|
||||||
|
#Scripts to be added to docker file
|
||||||
|
#USER frappe
|
||||||
|
#RUN bench init frappe-bench && cd frappe-bench
|
||||||
|
|
||||||
|
#USER root
|
||||||
|
#RUN cd /home/frappe
|
||||||
|
#RUN ls -l
|
||||||
|
# frappe-bench apps sites
|
||||||
|
#
|
||||||
|
|
||||||
|
# On the host machine run
|
||||||
|
# docker ps - to get the id of mariadb container
|
||||||
|
# docker inspect <mariadb-container-id>
|
||||||
|
# get the IP address of the mariadb container which looks similar to this
|
||||||
|
|
||||||
|
# In the docker frappe container run
|
||||||
|
# bench set-mariadb-host 172.20.0.2
|
||||||
|
|
||||||
|
|
||||||
|
#RUN bench new-site site1
|
||||||
|
#RUN bench get-app erpnext https://github.com/frappe/erpnext
|
||||||
|
#RUN bench --site site1 install-app erpnext
|
||||||
|
#RUN bench start
|
||||||
|
|
15
bash_script.sh
Executable file
15
bash_script.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
docker-compose up -d
|
||||||
|
db_id=`docker ps | grep "mariadb" | awk '{print $1}'`
|
||||||
|
db_ip=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress }}' $db_id`
|
||||||
|
app_id=`docker ps | grep docker_frappe | awk {'print $1'}`
|
||||||
|
app_ip=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress }}' $app_id`
|
||||||
|
echo 'export app_id='$app_id >> ~/.bashrc
|
||||||
|
source ~/.bashrc
|
||||||
|
echo 'cd ../' >> ./bash_for_container.sh
|
||||||
|
echo 'bench init frappe-bench && cd frappe-bench' >> ./bash_for_container.sh
|
||||||
|
echo 'bench set-mariadb-host '$db_ip >> ./bash_for_container.sh
|
||||||
|
echo 'bench new-site site1' >> bash_for_container.sh
|
||||||
|
echo 'bench --site site1 install-app erpnext' >> bash_for_container.sh
|
||||||
|
echo 'bench start' >> bash_for_container.sh
|
||||||
|
docker cp bash_for_container.sh $app_id:/home/frappe/code
|
||||||
|
docker exec -it $app_id bash -c 'cd /home/frappe/code; exec "${SHELL:-sh}"'
|
3
code/bash_run_container.sh
Executable file
3
code/bash_run_container.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
chown -R frappe:frappe /home/frappe/code/bash_for_container.sh
|
||||||
|
chmod +x /home/frappe/code/bash_for_container.sh
|
||||||
|
su frappe
|
33
conf/mariadb-conf.d/my.cnf
Normal file
33
conf/mariadb-conf.d/my.cnf
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# MariaDB-specific config file.
|
||||||
|
# Read by /etc/mysql/my.cnf
|
||||||
|
|
||||||
|
[client]
|
||||||
|
# Default is Latin1, if you need UTF-8 set this (also in server section)
|
||||||
|
#default-character-set = utf8
|
||||||
|
|
||||||
|
[mysqld]
|
||||||
|
#
|
||||||
|
# * Character sets
|
||||||
|
#
|
||||||
|
# Default is Latin1, if you need UTF-8 set all this (also in client section)
|
||||||
|
#
|
||||||
|
#character-set-server = utf8
|
||||||
|
#collation-server = utf8_general_ci
|
||||||
|
#character_set_server = utf8
|
||||||
|
#collation_server = utf8_general_ci
|
||||||
|
# Import all .cnf files from configuration directory
|
||||||
|
!includedir /etc/mysql/mariadb.conf.d/
|
||||||
|
|
||||||
|
|
||||||
|
[mysqld]
|
||||||
|
innodb-file-format=barracuda
|
||||||
|
innodb-file-per-table=1
|
||||||
|
innodb-large-prefix=1
|
||||||
|
character-set-client-handshake = FALSE
|
||||||
|
character-set-server = utf8mb4
|
||||||
|
collation-server = utf8mb4_unicode_ci
|
||||||
|
|
||||||
|
[mysql]
|
||||||
|
default-character-set = utf8mb4
|
||||||
|
|
||||||
|
|
2
conf/mariadb-conf.d/mysql.cnf
Normal file
2
conf/mariadb-conf.d/mysql.cnf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[mysql]
|
||||||
|
|
4
conf/mariadb-conf.d/mysqld_safe_syslog.cnf
Normal file
4
conf/mariadb-conf.d/mysqld_safe_syslog.cnf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[mysqld_safe]
|
||||||
|
skip_log_error
|
||||||
|
syslog
|
||||||
|
|
5
conf/mariadb-conf.d/mysqldump.cnf
Normal file
5
conf/mariadb-conf.d/mysqldump.cnf
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[mysqldump]
|
||||||
|
quick
|
||||||
|
quote-names
|
||||||
|
max_allowed_packet = 16M
|
||||||
|
|
31
docker-compose.yml
Normal file
31
docker-compose.yml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
version: '2'
|
||||||
|
services:
|
||||||
|
mariadb:
|
||||||
|
image: "mariadb"
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=123
|
||||||
|
- MYSQL_USER=root
|
||||||
|
volumes:
|
||||||
|
- ./conf/mariadb-conf.d:/etc/mysql/conf.d
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: "redis:alpine"
|
||||||
|
|
||||||
|
frappe:
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- "8000:5000"
|
||||||
|
stdin_open: true
|
||||||
|
tty: true
|
||||||
|
#links:
|
||||||
|
# - redis
|
||||||
|
# - mariadb
|
||||||
|
network_mode: "host"
|
||||||
|
depends_on:
|
||||||
|
- "mariadb"
|
||||||
|
- "redis"
|
||||||
|
volumes:
|
||||||
|
- ./code:/home/frappe/code
|
||||||
|
|
Loading…
Reference in New Issue
Block a user