oc-docker-tryton-non-official/README.md
2023-06-05 10:38:55 -05:00

3.2 KiB

Diagram deploy

Description

Docker tryton-non_official It is a tool for deploying unofficial Tryton modules in Docker, including:

  1. Gnuhealth
  2. Kalenis
  3. NaNtic
  4. Datalife
  5. Presik
  6. Trytonar
  7. OneTeam
  8. Etrivial

Gnuhealth and Etrivial most be work whit tryton5.0

Dependencies:

Have docker 20 or higher installed and git

Multi migrate to gitea will be called at the time of the creation of the docker

Prerequisites

If you going to use tryton 6.2, must be use python3.9. This change was done by team tryton.

Clone repository:

git clone https://git.disroot.org/OneTeam/oc-docker-tryton-non-official.git
cd oc-docker-tryton-non-official

Edit Dockerfile and change lines commented example create Docker OneTeam:

#version Trytond server example 5.0
FROM tryton/tryton:6.0
#lebel custom
LABEL org.label-schema.version="6.0-my-one_team"
#version equal Tryond server version
ENV TRYTOND_VERSION="6.0"
#python version that will run the dockeri, e.g. python3.7
ENV PYTHON_VERSION="python3.7"
#version equal Tryond server version
ENV GITEA_ORG="OneTeam"
#domain server gitea
ENV GITEA_DOMAIN="git.disroot.org"
#if the module repository is private
ENV GITEA_USER="my-user"
ENV GITEA_PASSWORD="my-password"
ENV GITEA_ACCESS_TOKEN="45454515415465456456"
#By default all organizations are set to false, activate only one as true. 
ENV GnuHealth="False"
ENV Etrivial="False"
ENV Trytonar="False"
ENV OneTeam="True"
ENV Presik="False"
ENV Datalife="False"
ENV NaNtic="False"
ENV Kalenis="False"

Usage

docker build -t tryton/label . 

Note: in case of than you need rebuild your docker image from the beginning, we will have add the option '--no-cache'

Create a network of work for docker:

docker network create name_network

Create a volumen of storage for docker:

docker volume create name_volume

Export of variable of environment with password for our postgres, it is with the purpose of don't have to write many time the password

export POSTGRES_PASSWORD="password"

Create a postgres docker image

docker run \
 --name name_docker_postgres \
 --env PGDATA=/var/lib/postgresql/data/pgdata\
 --env POSTGRES_DB=name_database\
 --env POSTGRES_PASSWORD=${POSTGRES_PASSWORD}\
 --mount source=name_volume,target=/var/lib/postgresql/data\
 --network name_network\
 --detach\
 postgres

Create a database in our docker postgres image

docker exec --user postgres name_docker_postgres createdb name_database

fill the database with data

docker run \
 --env DB_HOSTNAME=name_docker_postgres\
 --env DB_PASSWORD=${POSTGRES_PASSWORD}\
 --network name_network\
 --interactive\
 --tty\
 --rm\
 tryton/label\
 trytond-admin -d name_database -vv --all

Run docker image with our tryton

docker run\
 --name name_docker_tryton\
 --env DB_HOSTNAME=name_docker_postgres\
 --env DB_PASSWORD=${POSTGRES_PASSWORD}\
 --network name_network\
 --publish 127.0.0.1:8000:8000\
 --detach\
 tryton/label

This guide refer to https://discuss.tryton.org/t/how-to-run-tryton-using-docker/3200, in case of any question it is recommended read https://docs.docker.com/get-started/