Git Product home page Git Product logo

frappe_docker's Introduction

frappe_docker

Build Status

  • Docker is an open source project to pack, ship and run any Linux application in a lighter weight, faster container than a traditional virtual machine.

  • Docker makes it much easier to deploy frappe on your servers.

  • This container uses bench to install frappe.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Docker

Docker Compose

Container Configuration

ports:

ports:
      - "3307:3307"   mariadb-port
      - "8000:8000"   webserver-port
      - "11000:11000" redis-cache
      - "12000:12000" redis-queue
      - "13000:13000" redis-socketio
      - "9000:9000"   socketio-port
      - "6787:6787"   file-watcher-port

Expose port 3307 inside the container on port 3307 on ALL local host interfaces. In order to bind to only one interface, you may specify the host's IP address as ([<host_interface>:[host_port]])|(<host_port>):<container_port>[/udp] as defined in the docker port binding documentation. The port 3307 of the mariadb container and port 8000 of the frappe container is exposed to the host machine and other containers.

volumes:

volumes:
     - ./frappe-bench:/home/frappe/frappe-bench
     - ./conf/mariadb-conf.d:/etc/mysql/conf.d
     - ./redis-conf/redis_socketio.conf:/etc/conf.d/redis.conf
     - ./redis-conf/redis_queue.conf:/etc/conf.d/redis.conf
     - ./redis-conf/redis_cache.conf:/etc/conf.d/redis.conf

Exposes a directory inside the host to the container.

links:

links:
      - redis-cache
      - redis-queue
      - redis-socketio
      - mariadb

Links allow you to define extra aliases by which a service is reachable from another service.

depends_on:

depends_on:
      - mariadb
      - redis-cache
      - redis-queue
      - redis-socketio

Express dependency between services, which has two effects:

  1. docker-compose up will start services in dependency order. In the following example, mariadb and redis will be started before frappe.

  2. docker-compose up SERVICE will automatically include SERVICE’s dependencies. In the following example, docker-compose up docker_frappe will also create and start mariadb and redis.

Installation

1. Installation Pre-requisites

  • Install Docker Community Edition

  • Install Docker Compose (only for Linux users). Docker for Mac, Docker for Windows, and Docker Toolbox include Docker Compose

2. Build the container and install bench

  • Clone this repo and change your working directory to frappe_docker

      git clone --depth 1 https://github.com/frappe/frappe_docker.git
      cd frappe_docker
    
  • Build the container and install bench inside the container.

    1.Build the 5 linked containers frappe, mariadb, redis-cache, redis-queue and redis-socketio using this command. Make sure your current working directory is frappe_docker which contains the docker-compose.yml and Dockerfile. It creates a user, frappe inside the frappe container, whose working directory is /home/frappe. It also clones the bench-repo from here

      ./dbench setup docker
    

    Note: Please do not remove the bench-repo directory the above commands will create

Basic Usage

Make sure your current directory is frappe_docker
  1. First time setup

    ./dbench init
    
  2. Command to be executed everytime after starting your containers

    ./dbench setup hosts
    
  3. Command to enter your container

    ./dbench
    
  4. All bench commands can also be directly run from the host machine by using dbench. For instance bench start can be executed by running ./dbench start. Just preface the option with ./dbench. For more information on dbench run the command ./dbench -h.

For more info on how to build this docker container refer to this Wiki

To login to Frappe / ERPNext, open your browser and go to [your-external-ip]:8000, probably localhost:8000

The default username is "Administrator" and password is what you set when you created the new site. The default admin password is set in common_site_config.json, and is set to 'admin' in this docker image.

Built With

Contributing

Feel free to contribute to this project and make the container better

License

This project is licensed under the MIT License - see the LICENSE.md file for details

frappe_docker's People

Contributors

vishalseshagiri avatar thunderbottom avatar chabad360 avatar codingcoffee avatar stalkingkillah avatar arwema avatar carlos22 avatar williamjmorenor avatar reilly3000 avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.