LedgerSMB icon indicating copy to clipboard operation
LedgerSMB copied to clipboard

Spent 2 days and cannot self host using docker.

Open bishisht opened this issue 7 months ago • 3 comments

Is there anyone who can help me host LedgerSMB into docker in my small vps? I have spent 2 days and took all the help from chatgpt but I reached a point where I am immediately logged out after logging in and I am tired at this point. Will try again tomorrow but if anyone is interested in helping a sad fella let me know.

bishisht avatar Jun 12 '25 12:06 bishisht

It is hard to help when you have provided no information about how you are trying to use docker, what base OS you are using, which docker images your are using, which version of LSMB you are using, etc. and what problems you experienced via errors in the logs, etc.

I would not trust chatGPT for instructions.

Tested instructions for spinning up a docker image are at https://github.com/ledgersmb/ledgersmb-docker

The LedgerSMB installer instructions are available at https://get.ledgersmb.org

Live help is usually available in the evening UTC on Matrix. See https://app.element.io/#/room/#ledgersmb:matrix.org

The project makes extensive use of docker images for testing and development and they are pretty solid at this point in time.

neilt avatar Jun 12 '25 13:06 neilt

I checked the ChatGPT instructions and they simplified our install in inappropriate ways. We are working on ways to improve that.

neilt avatar Jun 12 '25 14:06 neilt

Here's my docker-compose.yml if it helps:

services:
  postgres:
    image: postgres:15-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"
    restart: unless-stopped
  lsmb:
    depends_on:
      - postgres
    image: ghcr.io/ledgersmb/ledgersmb:1.12
    volumes:
      # Override all configuration:
      - type: bind
        source: /MYPATH/ledgersmb
        target: /srv/ledgersmb/local/conf
    networks:
      - internal
      - proxy
    labels:
      - traefik.enable=true
      - traefik.http.routers.cvmc-books-local.rule=Host(`*****.local`)
      - traefik.http.routers.cvmc-books-local.entrypoints=web
      # make sure traefik uses _its_ network, not the internal one we use for the DB
      - traefik.docker.network=proxy
    environment: 
      LSMB_WORKERS: ${LSMB_WORKERS:-5}
    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:
  proxy:
    name: proxy
    external: true

I have Traefik on the 'proxy' network redirecting my .local domain requests to the docker container. You could bind the pgdata volume to the host filesystem. My configuration also sets HTTPS for external access, but I've removed that config as I haven't even attempted to get that working yet (most of my external sites go through Authelia, but I'm not sure that's possible for LedgerSMB). I also haven't yet set up SMTP.

auspex avatar Jun 17 '25 15:06 auspex

Closing: more than 90 days without user response. Feel free to reopen with your comments.

github-actions[bot] avatar Sep 19 '25 03:09 github-actions[bot]