Git Product home page Git Product logo

otrs-docker's Introduction

otrs-docker

Docker compose files for lightweight and efficient OTRS 6.

This repository contains the docker-compose files that will automate the deployment of my Alpine-based OTRS container images:

These images follow the official docker library image guidelines as closely as possible. They are designed with maintainability, simplicity, and security in mind.

There are two docker-compose files available:

  • fcgi-mariadb - Nginx with fast-cgi and MariaDB
  • fcgi-postgres - Nginx with fast-cgi and Postgres

How to use

  1. Install docker and docker-compose if needed.

  2. Create required volumes:

    docker volume create otrs-db
    docker volume create otrs-config
    
  3. Create a file called dbpassword.txt and place a database password of your choosing inside.

  4. Download the appropriate docker-compose.yml file into the same directory.

  5. Start OTRS:

    docker-compose up -d
    
  6. Navigate to http://localhost/otrs/installer.pl

  7. Proceed through the installation. For database settings, use 'otrs-db' as host, 'postgres' as user if using posgres or 'root' if using mariadb, and the password you placed in the file.

    NOTE: The warning banner stating that the OTRS daemon is not running may persist the first time you bring the environment up due to the daemon attempting to start before the database exists. If this happens, simply go through the installation, then restart the environment with "docker-compose down" and "docker-compose up -d". The warning should disappear after 5 minutes.

Considerations for production use

If you have tried the above and are thinking of deploying these images in production, then some additional considerations:

  • Enable and use Docker's user namespace remapping feature for additional security.
  • Email attachments - OTRS stores these inside the database by default. This is fine for small deployments, but data sizes can grow quickly on medium or larger ones. Consider creating a new volume for attachments, mounting it into the otrs-fcgi container, and configuring OTRS to use that location to store attachment files instead.
  • Backups. You must, at minimum, back up the otrs-config volume contents and take a copy of the OTRS database from the postgres container.

Custom skins

There are two custom skins pre-configured: one for the Agent interface, and one for the Customer interface. They are created empty and ready for you to place your own custom skin files inside. To use them:

  1. Create your skin and make sure it is in the correct folder layout.

  2. Copy it into the otrs-config volume through the running container:

    docker cp ./skin-folder/* otrs-fcgi:/data/custom-agent-skin/
    or
    docker cp ./skin-folder/* otrs-fcgi:/data/custom-customer-skin/
    
  3. Go into OTRS' sysconfig and make sure the 'custom-agent-skin' or 'custom-customer-skin' is enabled.

  4. Activate the skin in your preferences, and if it works, set it as the default in sysconfig.

Upgrading from OTRS 5

Upgrading between major OTRS versions is not always straightforward and usually requires several manual steps. If you are currently running non-containerized OTRS 5 and are thinking of migrating to containerized OTRS 6, the best thing to do would be to manually upgrade your existing install to OTRS 6 first, and then migrate that to a containerized setup (described below).

Migrating OTRS 6 from local install

If you have OTRS 6 running locally, then migrating to a containerized setup is straightforward:

  1. Back up your existing database and installation directory.

  2. Start the postgres or mariadb docker-compose deployment as appropriate.

  3. Restore your database into the database container using the appropriate method (pg_restore, mysql client, etc).

  4. Modify your config.pm to point to the database container and copy it into the otrs-config volume:

    docker cp ./Config.pm otrs-fcgi:/data/Config.pm
    
  5. Try the web interface and see your configuration comes up. If not, restart the environment and try again:

    docker-compose down
    docker-compose up -d
    

otrs-docker's People

Contributors

snw35 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.