Skip to content

mbehrle/docker-tryton-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mbsolutions/tryton-server

Dockerfile for Tryton Server

Supported tags

This Dockerfile contains the steps required to build a working image of Tryton server. The build is based on the official Debian base image on Dockerhub and packages from Debian Tryton Maintainers.

The image provided by this Dockerfile is a minimalistic Docker container for Tryton server

  • that works out of the box,
  • follows best practices for Dockerfiles,
  • is meant to be extended to fit your personal needs. For further steps see below.

The Tryton Server image is built automatically from GitHub.

Installation

If you don't have yet a running docker installation, install first docker with

sudo apt-get install docker.io

Add the user, that will use docker, to the docker group

sudo useradd myuser docker

Note: You may have to relogin before the group settings will take effect.

Usage

Fetch the repository from docker

sudo docker pull mbsolutions/tryton-server

Note: To fetch and work with specific versions add the relative tag to the command like

sudo docker pull mbsolutions/tryton-server:4.6

Run a new container using the image

sudo docker run -d -p 8000:8000 mbsolutions/tryton-server
  • The -d option indicates that the container should be run in daemon mode.
  • The -p option and it's value 8000:8000 instructs docker to bind TCP port 8000 of the container to port 8000 on the host. For more options on binding the interfaces of containers to the host machine see the ports documentation.

Database creation

The creation of new databases is done with trytond-admin inside the container. For more information have a look at the documentation of the Debian package.

Environment Variables

This image image uses several environment variables which are not required, but may significantly aid in using the image.

TRYTOND_DATABASE_URI

This environment variable can be used to set the database connection.

Use "-e TRYTOND_DATABASE_URI=postgresql://user:password@localhost:5432/" in "docker run".

Accessing the docker container

You can access the docker container and work from within it.

sudo docker exec -it mbsolutions/tryton-server /bin/bash

On execution of the command a new prompt within the container should be available to you.

Extending this image

This docker image is a minimal base on which you should extend and write your own.

If you would like to do additional initialization before the startup of the server in an image derived from this one, add an *.sh script under /docker-entrypoint-init.d. The entrypoint script will source any *.sh script found in that directory to do further initialization before starting the service.

The following example steps would be required to say make your setup work with postgres and install the sale module. In case you want install all available modules use tryton-modules-all instead.

# Tryton Server with Sale module and Postgres

FROM mbsolutions/tryton-server:4.6
MAINTAINER Mathias Behrle <mbehrle@m9s.biz>

# Install additional distribution packages
RUN apt-get update && apt-get install -y \
tryton-modules-sale \
&& rm -rf /var/lib/apt/lists/*
    
# Get a [sample trytond.conf](https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=tryton/tryton-server.git;a=blob_plain;f=debian/trytond.conf;hb=refs/heads/debian), 
# copy it to the directory of your Dockerfile,
# adjust the settings to your needs (e.g. connection parameters and credentials to your PostgreSQL server)
# and copy it into the container with
COPY trytond.conf /etc/tryton/trytond.conf

Authors and Credits

This image was built by MBSolutions.

Parts of the setup were adopted from

Support

For any questions about this image and your docker setup contact us at support.

GPL 3 License

About

Debian based docker image (debian.tryton.org)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages