فهرست منبع

[ADD] initial commit with awesome features

Gogs 7 سال پیش
کامیت
351b6b4590

+ 0 - 0
directory.j2


+ 2 - 0
group_vars/common.yml

@@ -0,0 +1,2 @@
+---
+odoo_admin_pass: "admin"

+ 2 - 0
group_vars/postgres.yml

@@ -0,0 +1,2 @@
+---
+postgres_container_name: "db"

+ 1 - 0
odoo_create.retry

@@ -0,0 +1 @@
+127.0.0.1

+ 17 - 0
odoo_create.yml

@@ -0,0 +1,17 @@
+---
+# This playbook create a new container for odoo 8.0
+
+- hosts: all
+  remote_user: vagrant
+
+  vars_prompt:
+    - name: "odoo_system_name"
+      prompt: "What's the system name?"
+      private: no
+    - name: "odoo_system_port"
+      prompt: "What's the system port?"
+      default: 8069
+      private: no
+  
+  roles:
+    - common

+ 1 - 0
odoo_up.retry

@@ -0,0 +1 @@
+127.0.0.1

+ 8 - 0
odoo_up.yml

@@ -0,0 +1,8 @@
+---
+# This playbook create a new image for odoo 8.0
+
+- hosts: all
+  remote_user: vagrant
+
+  roles:
+    - odoo

+ 1 - 0
postgres_up.retry

@@ -0,0 +1 @@
+127.0.0.1

+ 5 - 0
postgres_up.yml

@@ -0,0 +1,5 @@
+---
+- hosts: all
+  remote_user: vagrant
+  roles:
+    - postgres

+ 2 - 0
production

@@ -0,0 +1,2 @@
+[tigo]
+181.40.66.126

+ 5 - 0
roles/addons/files/registry.json

@@ -0,0 +1,5 @@
+{
+    "system": {
+        "name": ""
+    }
+}

+ 11 - 0
roles/addons/tasks/main.yml

@@ -0,0 +1,11 @@
+---
+# - name: "Getting containers"
+#   command: docker ps --filter ancestor=postgres:9.4 --format {{.Names|quote}}
+#   register: result
+#   become: true
+
+- name: "Printing"
+  debug:
+    msg: "{{ item }}"
+  with_items:
+    - addons

+ 5 - 0
roles/addons/vars/main.yml

@@ -0,0 +1,5 @@
+---
+- addons:
+  - "http://192.168.88.100:3000/sebastian/invoice_print_nota.git"
+  - "http://192.168.88.100:3000/adrielso/eiru_payments.git"
+  - "http://192.168.88.100:3000/encisoarias/oportunity_calendar_in_dashboard.git"

+ 30 - 0
roles/common/tasks/main.yml

@@ -0,0 +1,30 @@
+---
+# This playbook prepare a new system directories
+
+- name: Create directories structure
+  file:
+    path: "{{ odoo_root_path }}/{{ odoo_system_name }}/{{ item }}"
+    state: directory
+    mode: 0777
+  with_items: "{{ odoo_default_paths }}"
+  become: true
+
+- name: Create file configuration
+  template:
+    src: openerp-server.j2
+    dest: "{{ odoo_root_path }}/{{ odoo_system_name }}/config/openerp-server.conf"
+    backup: yes
+
+- name: Create container
+  docker_container:
+    name: "{{ odoo_system_name }}"
+    image: odoo
+    exposed_ports:
+      - "{{ odoo_system_port }}:8069"
+    links:
+      - "{{ postgres_container_name }}:db"
+    volumes:
+      - "{{ odoo_root_path }}/{{ odoo_system_name }}/config:/etc/odoo"
+      - "{{ odoo_root_path }}/{{ odoo_system_name }}/custom-addons:/mnt/extra-addons"
+      - "{{ odoo_root_path }}/{{ odoo_system_name }}/files:/var/lib/odoo"
+  become: true

+ 0 - 0
roles/common/templates/odoo-8.0-debian-jessie.j2


+ 40 - 0
roles/common/templates/openerp-server.j2

@@ -0,0 +1,40 @@
+[options]
+addons_path = /mnt/extra-addons,/usr/lib/python2.7/dist-packages/openerp/addons
+data_dir = /var/lib/odoo
+; auto_reload = True
+admin_passwd = {{ odoo_admin_pass }}
+; csv_internal_sep = ,
+; db_maxconn = 64
+db_name = {{ odoo_system_name }}
+db_user = {{ odoo_db_user }}
+db_password = {{ odoo_db_pass }}
+; db_template = template1
+dbfilter = ^{{ odoo_system_name }}$
+; debug_mode = False
+; email_from = False
+; limit_memory_hard = 2684354560
+; limit_memory_soft = 2147483648
+; limit_request = 8192
+; limit_time_cpu = 240
+; limit_time_real = 840
+list_db = False
+; log_db = False
+; log_handler = [':INFO']
+; log_level = debug_sql
+; logfile = None
+; longpolling_port = 8072
+; max_cron_threads = 2
+; osv_memory_age_limit = 1.0
+; osv_memory_count_limit = False
+; smtp_password = False
+; smtp_port = 25
+; smtp_server = localhost
+; smtp_ssl = False
+; smtp_user = False
+; workers = 7
+; xmlrpc = True
+; xmlrpc_interface =
+; xmlrpc_port = 8069
+; xmlrpcs = True
+; xmlrpcs_interface =
+; xmlrpcs_port = 8071

+ 13 - 0
roles/common/vars/main.yml

@@ -0,0 +1,13 @@
+---
+odoo_user: "odoo"
+
+odoo_root_path: "/opt/odoo"
+
+odoo_db_user: "odoo"
+
+odoo_db_pass: "odoo"
+
+odoo_default_paths:
+  - - config
+    - custom-addons
+    - files

+ 54 - 0
roles/odoo/files/Dockerfile

@@ -0,0 +1,54 @@
+FROM debian:jessie
+MAINTAINER Robert Alexis Gauto <robert.gauto@gmail.com>
+
+# Install some deps, lessc and less-plugin-clean-css, and wkhtmltopdf
+ENV ODOO_VERSION 8.0
+ENV ODOO_RELEASE 20170914
+
+RUN set -x; \
+        apt-get update \
+        && apt-get install -y --no-install-recommends --no-install-suggests \
+                ca-certificates \
+                curl \
+                node-less \
+                node-clean-css \
+                python-gevent \
+                python-pip \
+                python-pyinotify \
+                python-renderpm \
+                python-support \
+        && pip install num2words \
+        && pip install phonenumbers \
+        && pip install psycogreen==1.0 \
+        && curl -o wkhtmltox.deb -SL http://nightly.odoo.com/extra/wkhtmltox-0.12.1.2_linux-jessie-amd64.deb \
+        && echo '40e8b906de658a2221b15e4e8cd82565a47d7ee8 wkhtmltox.deb' | sha1sum -c - \
+        && dpkg --force-depends -i wkhtmltox.deb \
+        && apt-get -y install -f --no-install-recommends --no-install-suggests \
+        && curl -o odoo.deb -SL http://nightly.odoo.com/${ODOO_VERSION}/nightly/deb/odoo_${ODOO_VERSION}.${ODOO_RELEASE}_all.deb \
+        && echo '9cbe297f15261d3b70da93de94b014cdc2f2293a odoo.deb' | sha1sum -c - \
+        && dpkg --force-depends -i odoo.deb \
+        && apt-get -y install -f --no-install-recommends --no-install-suggests \
+        && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false -o APT::AutoRemove::SuggestsImportant=false npm \
+        && rm -rf /var/lib/apt/lists/* wkhtmltox.deb odoo.deb
+
+COPY ./entrypoint.sh /
+COPY ./openerp-server.conf /etc/odoo/
+
+RUN set -x; \
+        chmod +x /entrypoint.sh \
+        && chown odoo /etc/odoo/openerp-server.conf \
+        && mkdir -p /mnt/extra-addons \
+        && mkdir -p /opt/odoo/addons \
+        && chown -R odoo /mnt/extra-addons \
+        && chown -R odoo /opt/odoo/addons 
+
+VOLUME ["/var/lib/odoo", "/mnt/extra-addons", "/opt/odoo/addons"]
+
+EXPOSE 8069 8071
+
+ENV OPENERP_SERVER /etc/odoo/openerp-server.conf
+
+USER odoo
+
+ENTRYPOINT ["/entrypoint.sh"]
+CMD ["openerp-server"]

+ 0 - 0
roles/odoo/files/entrypoint.sh


+ 38 - 0
roles/odoo/files/openerp-server.conf

@@ -0,0 +1,38 @@
+[options]
+addons_path = /mnt/extra-addons,/usr/lib/python2.7/dist-packages/openerp/addons
+data_dir = /var/lib/odoo
+auto_reload = True
+; admin_passwd = admin
+; csv_internal_sep = ,
+; db_maxconn = 64
+; db_name = False
+; db_template = template1
+; dbfilter = .*
+; debug_mode = False
+; email_from = False
+; limit_memory_hard = 2684354560
+; limit_memory_soft = 2147483648
+; limit_request = 8192
+; limit_time_cpu = 60
+; limit_time_real = 120
+; list_db = True
+; log_db = False
+; log_handler = [':INFO']
+; log_level = info
+; logfile = None
+; longpolling_port = 8072
+; max_cron_threads = 2
+; osv_memory_age_limit = 1.0
+; osv_memory_count_limit = False
+; smtp_password = False
+; smtp_port = 25
+; smtp_server = localhost
+; smtp_ssl = False
+; smtp_user = False
+; workers = 0
+; xmlrpc = True
+; xmlrpc_interface = 
+; xmlrpc_port = 8069
+; xmlrpcs = True
+; xmlrpcs_interface = 
+; xmlrpcs_port = 8071

+ 40 - 0
roles/odoo/tasks/main.yml

@@ -0,0 +1,40 @@
+---
+- name: Create temporal directory
+  tempfile:
+    state: directory
+    suffix: "{{ odoo_temp }}"
+  register: temp_result
+
+- name: Copy odoo dockerfile
+  copy:
+    src: Dockerfile
+    dest: "{{ temp_result.path }}"
+
+- name: Copy odoo entrypoint file
+  copy:
+    src: entrypoint.sh
+    dest: "{{ temp_result.path }}"
+
+- name: Copy odoo configuration file
+  copy:
+    src: openerp-server.conf
+    dest: "{{ temp_result.path }}"
+
+- name: Build odoo
+  docker_image:
+    name: "odoo:8.0"
+    path: "{{ temp_result.path }}"
+    rm: yes
+  become: true
+
+- name: Install system dependencies
+  apt:
+    name: python-pip
+    state: present
+  become: true
+
+- name: Install python dependencies
+  pip:
+    name: docker-py
+    state: present
+  become: true

+ 2 - 0
roles/odoo/vars/main.yml

@@ -0,0 +1,2 @@
+---
+odoo_temp: "odoo"

+ 17 - 0
roles/postgres/tasks/main.yml

@@ -0,0 +1,17 @@
+---
+- name: Create data directory
+  file:
+    path: "{{ postgres_data_path }}"
+    state: directory
+    mode: 0755
+  become: true
+
+- name: Create docker container
+  docker_container:
+    name: "postgres"
+    image: "postgres:{{ postgres_default_version }}"
+    env:
+      POSTGRES_USER: "{{ postgres_default_user }}"
+      POSTGRES_PASSWORD: "{{ postgres_default_password }}"
+      PGDATA: "{{ postgres_data_path }}"
+  become: true

+ 8 - 0
roles/postgres/vars/main.yml

@@ -0,0 +1,8 @@
+---
+postgres_default_version: "9.4"
+
+postgres_data_path: "/var/lib/postgresql/data"
+
+postgres_default_user: "eiru"
+
+postgres_default_password: "@eiru_master/user?"

+ 1 - 0
rolling_update.retry

@@ -0,0 +1 @@
+127.0.0.1

+ 5 - 0
rolling_update.yml

@@ -0,0 +1,5 @@
+---
+- hosts: all
+  remote_user: vagrant
+  roles:
+    - addons

+ 2 - 0
staging

@@ -0,0 +1,2 @@
+[local]
+127.0.0.1:2222