# This docker-compose file creates one # compose 'project' consisting of two containers # # 1. The PostgreSQL data container # 2. The LedgerSMB application container # # LedgerSMB persists all its data in the database, # so no special care needs to be taken on # container upgrades. With PostgreSQL, data is # persisted across upgrades by the use of a # special 'dbdata' volume version: "3.2" services: # Note that the container needs to be named "postgres" here, # because that allows us to use the default hostname ("postgres") # from the LedgerSMB configuration postgres: image: postgres:12-alpine environment: # Replace the password below for a secure setup POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-abc} PGDATA: /var/lib/postgresql/data/pgdata networks: - internal volumes: - "pgdata:/var/lib/postgresql/data" # Comment the line below to stop the container from restarting on boot # unless it was manually stopped restart: unless-stopped lsmb: depends_on: - postgres image: ghcr.io/ledgersmb/ledgersmb:1.10 networks: - internal - default # Comment the 'ports' section to disable mapping the LedgerSMB container port (5762) # to the host's port of the same number, thus making LedgerSMB # available on http://:5762/ # SECURITY NOTE: Do this for evaluation purposes only! # In production, be sure to use SSL/TLS to protect user's passwords # and other sensitive data ports: - "5762:5762" environment: # The LSMB_WORKERS environment variable lets you select the number # of processes serving HTTP requests. The default number of 2 workers # is geared toward limited-memory situations (1 GB). In order to # improve the performance experience, increase memory and the # number of workers # LSMB_WORKERS: ${LSMB_WORKERS:-5} # # # LSMB_MAIL_SMTPHOST: # LSMB_MAIL_SMTPPORT: # LSMB_MAIL_SMTPTLS: # LSMB_MAIL_SMTPSENDER_HOSTNAME: # LSMB_MAIL_SMTPUSER: # LSMB_MAIL_SMTPPASS: # LSMB_MAIL_SMTPAUTHMECH: # # # The PROXY_IP environment variable lets you set the IP address # (range) of the reverse proxy used for TLS termination, which forwards # its requests to this container. When this reverse proxy runs on the # Docker host, the default below applies. In case the reverse proxy is # hosted in a separate container, this setting needs to be adjusted. # # PROXY_IP: 172.17.0.1/12 # Comment the line below to stop the container from restarting on boot # unless it was manually stopped restart: unless-stopped # having the dbdata volume is required to persist our # data between PostgreSQL container updates; without # that, the data is contained in the same volume as # the rest of the image and on update/upgrade, the # data will be lost. volumes: pgdata: networks: internal: