From ca7dc4247f3a5b4bff3a31d29442cefb51147e57 Mon Sep 17 00:00:00 2001 From: Armand Gillot Date: Tue, 5 Dec 2023 20:48:41 +0100 Subject: [PATCH 1/4] Add Odoo ERP --- apps/odoo/config.json | 22 +++++++++++ apps/odoo/docker-compose.yml | 63 ++++++++++++++++++++++++++++++ apps/odoo/metadata/description.md | 46 ++++++++++++++++++++++ apps/odoo/metadata/logo.jpg | Bin 0 -> 14382 bytes 4 files changed, 131 insertions(+) create mode 100644 apps/odoo/config.json create mode 100644 apps/odoo/docker-compose.yml create mode 100644 apps/odoo/metadata/description.md create mode 100644 apps/odoo/metadata/logo.jpg diff --git a/apps/odoo/config.json b/apps/odoo/config.json new file mode 100644 index 00000000..4b6a20a8 --- /dev/null +++ b/apps/odoo/config.json @@ -0,0 +1,22 @@ +{ + "name": "Odoo", + "port": 8017, + "available": true, + "exposable": true, + "id": "odoo", + "tipi_version": 1, + "version": "17.0", + "categories": [ + "utilities", + "finance", + "data" + ], + "description": "Open-source business management software suite designed to streamline various aspects of business operations. With its modular structure, users can choose and integrate specific applications such as accounting, inventory, and sales. Odoo provides a user-friendly interface, scalability for businesses of all sizes, and is available in both community (free) and enterprise editions. Its integrated approach and customization options make it a popular choice for comprehensive ERP (Enterprise Resource Planning) solutions.", + "short_desc": "Open-source business management software with modular applications for streamlined operations.", + "author": "armandgillot", + "source": "https://github.com/odoo/odoo", + "supported_architectures": [ + "arm64", + "amd64" + ] +} \ No newline at end of file diff --git a/apps/odoo/docker-compose.yml b/apps/odoo/docker-compose.yml new file mode 100644 index 00000000..3113cba7 --- /dev/null +++ b/apps/odoo/docker-compose.yml @@ -0,0 +1,63 @@ +version: "3.9" + +services: + odoodb: + container_name: odoodb + image: postgres:15 + user: root + environment: + - POSTGRES_USER=odoo + - POSTGRES_PASSWORD=odoo17@2023 + - POSTGRES_DB=postgres + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/postgresql:/var/lib/postgresql/data + networks: + - tipi_main_network + + odoo: + container_name: odoo + image: odoo:17 + user: root + depends_on: + - odoodb + ports: + - ${APP_PORT}:8069 + tty: true + command: -- + environment: + - HOST=odoodb + - USER=odoo + - PASSWORD=odoo17@2023 + volumes: + # - ./entrypoint.sh:/entrypoint.sh # if you want to install additional Python packages, uncomment this line! + - ${APP_DATA_DIR}/addons:/mnt/extra-addons + - ${APP_DATA_DIR}/etc:/etc/odoo + restart: unless-stopped + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.odoo-web-redirect.redirectscheme.scheme: https + traefik.http.services.odoo.loadbalancer.server.port: 8017 + # Web + traefik.http.routers.odoo-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.odoo-insecure.entrypoints: web + traefik.http.routers.odoo-insecure.service: odoo + traefik.http.routers.odoo-insecure.middlewares: odoo-web-redirect + # Websecure + traefik.http.routers.odoo.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.odoo.entrypoints: websecure + traefik.http.routers.odoo.service: odoo + traefik.http.routers.odoo.tls.certresolver: myresolver + # Local domain + traefik.http.routers.odoo-local-insecure.rule: Host(`odoo.${LOCAL_DOMAIN}`) + traefik.http.routers.odoo-local-insecure.entrypoints: web + traefik.http.routers.odoo-local-insecure.service: odoo + traefik.http.routers.odoo-local-insecure.middlewares: odoo-web-redirect + # Local domain secure + traefik.http.routers.odoo-local.rule: Host(`odoo.${LOCAL_DOMAIN}`) + traefik.http.routers.odoo-local.entrypoints: websecure + traefik.http.routers.odoo-local.service: odoo + traefik.http.routers.odoo-local.tls: true \ No newline at end of file diff --git a/apps/odoo/metadata/description.md b/apps/odoo/metadata/description.md new file mode 100644 index 00000000..8cafe8c8 --- /dev/null +++ b/apps/odoo/metadata/description.md @@ -0,0 +1,46 @@ +# Odoo Overview + +## Introduction +Odoo is an open-source business management software suite that encompasses a wide range of applications to streamline various business processes. Formerly known as OpenERP, Odoo provides a modular and integrated approach to manage different aspects of a business, including accounting, inventory, human resources, sales, and more. + +## Key Features + +### 1. **Modularity:** + - Odoo is modular, allowing users to choose and integrate only the applications that are relevant to their business needs. + +### 2. **Integrated Approach:** + - All modules within Odoo seamlessly integrate with each other, providing a cohesive experience for users. + +### 3. **User-Friendly Interface:** + - The software features an intuitive and user-friendly interface, making it accessible for users with varying levels of technical expertise. + +### 4. **Scalability:** + - Odoo is highly scalable, making it suitable for small businesses as well as large enterprises. As business needs grow, additional modules can be easily added. + +### 5. **Community and Enterprise Editions:** + - Odoo is available in both community (open-source) and enterprise editions. The community edition is free, while the enterprise edition includes additional features and support. + +## Getting Started with Odoo + +To get started with Odoo, follow these steps: + +1. **Installation:** + - Install Odoo on your tipi server. + +2. **Configuration:** + - Configure Odoo settings according to your business requirements. This includes setting up users, company information, and modules. + +3. **Module Installation:** + - Install the specific modules you need for your business, such as Sales, Accounting, Inventory, and HR. + +4. **Customization:** + - Customize the modules to align with your business processes. Odoo allows for easy customization through its user-friendly interface. + +5. **Training:** + - Train your team on using Odoo effectively. Take advantage of the available documentation and community resources. + +## Conclusion + +Odoo is a powerful and versatile business management solution that can be tailored to meet the unique needs of different industries. With its modular design and user-friendly interface, Odoo has gained popularity as a comprehensive ERP solution. + +For more detailed information and documentation, visit the [official Odoo website](https://www.odoo.com/). diff --git a/apps/odoo/metadata/logo.jpg b/apps/odoo/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f111b81e5baee50905695ac33da69d9a2011acbd GIT binary patch literal 14382 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 Date: Thu, 7 Dec 2023 17:45:59 +0100 Subject: [PATCH 2/4] Update apps/odoo/docker-compose.yml Co-authored-by: Nicolas Meienberger <47644445+meienberger@users.noreply.github.com> --- apps/odoo/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/odoo/docker-compose.yml b/apps/odoo/docker-compose.yml index 3113cba7..ac2e693f 100644 --- a/apps/odoo/docker-compose.yml +++ b/apps/odoo/docker-compose.yml @@ -31,7 +31,7 @@ services: - PASSWORD=odoo17@2023 volumes: # - ./entrypoint.sh:/entrypoint.sh # if you want to install additional Python packages, uncomment this line! - - ${APP_DATA_DIR}/addons:/mnt/extra-addons + - ${APP_DATA_DIR}/data/addons:/mnt/extra-addons - ${APP_DATA_DIR}/etc:/etc/odoo restart: unless-stopped networks: From a0811a1a78ff6efa18ee7d62e8bf181a539378cb Mon Sep 17 00:00:00 2001 From: Armand Gillot <79774155+armandgillot@users.noreply.github.com> Date: Thu, 7 Dec 2023 17:46:21 +0100 Subject: [PATCH 3/4] Update apps/odoo/docker-compose.yml Co-authored-by: Nicolas Meienberger <47644445+meienberger@users.noreply.github.com> --- apps/odoo/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/odoo/docker-compose.yml b/apps/odoo/docker-compose.yml index ac2e693f..5f59e2a9 100644 --- a/apps/odoo/docker-compose.yml +++ b/apps/odoo/docker-compose.yml @@ -32,7 +32,7 @@ services: volumes: # - ./entrypoint.sh:/entrypoint.sh # if you want to install additional Python packages, uncomment this line! - ${APP_DATA_DIR}/data/addons:/mnt/extra-addons - - ${APP_DATA_DIR}/etc:/etc/odoo + - ${APP_DATA_DIR}/data/etc:/etc/odoo restart: unless-stopped networks: - tipi_main_network From e7669c880acbb542cca88fb0ca592d4d1ba8fe58 Mon Sep 17 00:00:00 2001 From: Armand Gillot Date: Thu, 7 Dec 2023 17:53:42 +0100 Subject: [PATCH 4/4] update for adding app --- apps/odoo/config.json | 10 +++++++++- apps/odoo/docker-compose.yml | 10 +++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/apps/odoo/config.json b/apps/odoo/config.json index 4b6a20a8..cebfbb66 100644 --- a/apps/odoo/config.json +++ b/apps/odoo/config.json @@ -5,7 +5,7 @@ "exposable": true, "id": "odoo", "tipi_version": 1, - "version": "17.0", + "version": "17", "categories": [ "utilities", "finance", @@ -15,6 +15,14 @@ "short_desc": "Open-source business management software with modular applications for streamlined operations.", "author": "armandgillot", "source": "https://github.com/odoo/odoo", + "form_fields": [ + { + "type": "random", + "label": "odoo postgres password.", + "min": 32, + "env_variable": "ODOO_POSTGRES_PASSWORD" + } + ], "supported_architectures": [ "arm64", "amd64" diff --git a/apps/odoo/docker-compose.yml b/apps/odoo/docker-compose.yml index 3113cba7..6aa4aac3 100644 --- a/apps/odoo/docker-compose.yml +++ b/apps/odoo/docker-compose.yml @@ -7,11 +7,11 @@ services: user: root environment: - POSTGRES_USER=odoo - - POSTGRES_PASSWORD=odoo17@2023 + - POSTGRES_PASSWORD=${ODOO_POSTGRES_PASSWORD} - POSTGRES_DB=postgres restart: unless-stopped volumes: - - ${APP_DATA_DIR}/postgresql:/var/lib/postgresql/data + - ${APP_DATA_DIR}/data/postgresql:/var/lib/postgresql/data networks: - tipi_main_network @@ -28,11 +28,11 @@ services: environment: - HOST=odoodb - USER=odoo - - PASSWORD=odoo17@2023 + - PASSWORD=${ODOO_POSTGRES_PASSWORD} volumes: # - ./entrypoint.sh:/entrypoint.sh # if you want to install additional Python packages, uncomment this line! - - ${APP_DATA_DIR}/addons:/mnt/extra-addons - - ${APP_DATA_DIR}/etc:/etc/odoo + - ${APP_DATA_DIR}/data/addons:/mnt/extra-addons + - ${APP_DATA_DIR}/data/etc:/etc/odoo restart: unless-stopped networks: - tipi_main_network