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

136 lines
3.2 KiB
Markdown

![Diagram deploy](diagram.png "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](https://git.disroot.org/OneTeam/oc-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/