FROM {{ image  }}

ARG HOME=/home/odoo

# rm -rf /home/odoo/.ssh

{%- for src, dest in copies or [] %}
COPY {{ src }} {{ dest }}
{% endfor -%}

{% if copies -%}
RUN {% for src, dest in copies or [] -%} chown -R {{ user }}:{{ user }} {{dest}};
{%- endfor -%}
{%- endif %}

ENV ODOORC_DB_NAME=odoo ODOORC_PIDFILE=/home/odoo/.odoo.pid ODOORC_DATA_DIR=/home/odoo/data_dir PROFILE_FILE=/etc/bash.bashrc MAIN_REPO_FULL_PATH=/home/odoo/instance/$MAIN_REPO_PATH DEB_PYTHON_INSTALL_LAYOUT=deb
ENV COVERAGE_RCFILE=$HOME/.coveragerc
ENV COVERAGE_HOME=$MAIN_REPO_FULL_PATH

{% for build_env_arg in build_env_args %}
ENV {{ build_env_arg }}=TRUE
{% endfor %}

# Create cluster with odoo as owner and use environment variables instead of odoo cfg to connect
RUN . /home/odoo/build.sh && \
    set_odoo_ids && \
    install_dev_tools && \
    service_postgres_without_sudo odoo odoo && \
    install_pgcli_venv && \
    custom_alias && \
    odoo_conf && \
    git_set_remote && \
    bash_colorized && \
    setup_coverage && \
    local_bin_path && \
    configure_vim && \
    configure_zsh && \
    chown_all && \
    [ -e /entrypoint_image ] && mv /entrypoint_image /deployv_entrypoint_image ; \
    [ -e /entry_point.py ] && mv /entry_point.py /deployv_entry_point.py ; \
    [ -e /entrypoint ] && mv /entrypoint /deployv_entrypoint ; \
    mkdir -p /run/sshd

{% if vscode %}
# DEPLOYV_VSCODE: pre-install the VS Code server and extensions at build time
# so attaching VS Code to the container does not download anything live
RUN arch=$(uname -m) && case "$arch" in x86_64) arch=x64 ;; aarch64|arm64) arch=arm64 ;; esac && \
    tmp_dir=$(mktemp -d) && \
    curl -fsSL "https://update.code.visualstudio.com/{{ vscode_version }}/server-linux-$arch/stable" \
        | tar -xz -C "$tmp_dir" --strip-components=1 && \
    commit=$(sed -n 's/.*"commit": *"\([^"]*\)".*/\1/p' "$tmp_dir/product.json") && \
    mkdir -p /home/odoo/.vscode-server/bin && \
    mv "$tmp_dir" "/home/odoo/.vscode-server/bin/$commit" && \
    "/home/odoo/.vscode-server/bin/$commit/bin/code-server" \
        --extensions-dir /home/odoo/.vscode-server/extensions \
        --user-data-dir /home/odoo/.vscode-server/data \
        {%- for extension in vscode_extensions %}
        --install-extension {{ extension }} \
        {%- endfor %}
    && chown -R {{ user }}:{{ user }} /home/odoo/.vscode-server
{% endif %}
{% for step in build_extra_steps %}
RUN {{ step }}
{% endfor %}

USER {{ user }}

# TODO: Use .profile as bash profiler by default

ENTRYPOINT /entrypoint.sh

WORKDIR $MAIN_REPO_FULL_PATH
