123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <!DOCTYPE html>
- <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>Run Odoo - Open Source Business Application Suite - in Docker</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta charset="UTF-8">
- <meta name="keywords" content="Browser Based,Docker Made Easy,Home Lab,Home Lab Ideas,Install Guide,Self-Hosted,Web Based,Web Based Tools,Debian,Docker,Docker Container,Docker How To,Docker Made Simple,Docker Simplified,Docker Tutorial,Homelab,Linux,PostgreSQL,Odoo,Ubuntu,Business Application Suite,How To,Tutorial,i12bretro">
- <meta name="author" content="i12bretro">
- <meta name="description" content="Run Odoo - Open Source Business Application Suite - in Docker">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="revised" content="04/21/2024 01:01:34 PM" />
- <link rel="icon" type="image/x-icon" href="includes/favicon.ico">
- <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
- <script type="text/javascript" src="includes/js/steps.js"></script>
- <link href="css/steps.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="gridContainer">
- <div class="topMargin"></div>
- <div id="listName" class="topMargin">
- <h1>Run Odoo - Open Source Business Application Suite - in Docker</h1>
- </div>
- <div></div>
- <div id="content">
- <h2>What is Odoo?</h2>
- <blockquote>Odoo is a suite of web based open source business apps. The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing. Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.<i> - <a href="https://github.com/odoo/odoo" target="_blank">https://github.com/odoo/odoo</a></i></blockquote>
- <h2>Installing Docker</h2>
- <ol>
- <li>Log into the Linux host and run the following commands in a terminal window
- <div class="codeBlock"># install prerequisites<br />
- sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y<br />
- # add docker gpg key<br />
- curl -fsSL https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -<br />
- # add docker software repository<br />
- sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"<br />
- # install docker<br />
- sudo apt install docker-ce docker-compose containerd.io -y<br />
- # enable and start docker service<br />
- sudo systemctl enable docker && sudo systemctl start docker<br />
- # add the current user to the docker group<br />
- sudo usermod -aG docker $USER<br />
- # reauthenticate for the new group membership to take effect<br />
- su - $USER</div>
- </li>
- </ol>
- <h2>Running Odoo Container</h2>
- <ol>
- <li>Continue with the following commands in a terminal window
- <div class="codeBlock"># create working directories<br />
- mkdir ~/docker/odoo/data/{sessions,addons} -p && mkdir ~/docker/postgresql -p<br />
- # set owner of docker directory<br />
- sudo chown "$USER":"$USER" ~/docker -R<br />
- # allow the container to write to working directories<br />
- sudo chmod a+rwx -R ~/docker/odoo<br />
- # create containers network<br />
- docker network create containers<br />
- # run the postgesql container<br />
- docker run -d --name postgres -p 5432:5432 -e POSTGRES_USER=odoo_rw -e POSTGRES_PASSWORD=0dooDB_rw$ -e POSTGRES_DB=odoo -v ~/docker/postgresql:/var/lib/postgresql/data --restart=unless-stopped postgres:latest<br />
- # run the odoo container temporarily<br />
- docker run -d --name odoo -v ~/docker/odoo/data:/var/lib/odoo -p 8069:8069 -e HOST=172.17.0.1 -e PORT=5432 -e USER=odoo_rw -e PASSWORD=0dooDB_rw$ --restart=unless-stopped odoo<br />
- # copy odoo.conf from the container<br />
- docker cp odoo:/etc/odoo/odoo.conf ~/docker/odoo/odoo.conf<br />
- # remove the running odoo container<br />
- docker rm odoo -f<br />
- # add the database name to odoo.conf<br />
- echo -e "\ndb_name = odoo" >> ~/docker/odoo/odoo.conf<br />
- # rerun odoo with the updated conf file<br />
- docker run -d --name odoo -v ~/docker/odoo/data:/var/lib/odoo -v ~/docker/odoo/odoo.conf:/etc/odoo/odoo.conf -p 8069:8069 -e HOST=172.17.0.1 -e PORT=5432 -e USER=odoo_rw -e PASSWORD=0dooDB_rw$ --restart=unless-stopped odoo -i INIT</div>
- </li>
- <li>Open a web browser and navigate to http://DNSorIP:8069</li>
- <li>Login with the username admin and password admin</li>
- <li>Welcome to Odoo</li>
- </ol>
- <p>Documentation: <a href="https://hub.docker.com/_/odoo/" target="_blank">https://hub.docker.com/_/odoo/</a></p> </div>
- </div>
- </body>
- </html>
-
|