Focalboard mit docker compose und sqlite3 db starten



  • Ich vermute, dieses Thema wird schlimm ... Sorry, dass es schon wieder ein neues Thema von mir gibt.

    Gedanken vorweg: Die Nasa nutzt es doch auch, so schwierig kann es also nicht sein, vielleicht sind es 10 Minuten Arbeit ...

    Links:
    a https://www.focalboard.com/docs/personal-edition/docker/
    b https://docs.mattermost.com/boards/focalboard/installing-boards.html#personal-server-configuration
    c https://github.com/mattn/go-sqlite3#connection-string

    Die Geschichte:

    docker-compose a:

      focalboard:
        image: mattermost/focalboard
        volumes:
          - ./fbdata:/opt/focalboard/data
    

    Was ist das Problem mit docker-compose a? Focalboard nutzt standardmäßig postgres db und postgres db habe ich nicht installiert und möchte ich auch nicht. Ich möchte sqlite3 db verwenden. Focalboard bricht also beim Starten ab.

    docker-compose b:

      focalboard:
        image: mattermost/focalboard
        volumes:
          - ./fbconf/config.json:/opt/focalboard/config.json
          - ./fbdata:/opt/focalboard/data
    

    Was ist das Problem mit docker-compose b? Die Datei config.json existiert noch nicht oder ist leer! Man muss sie also zuerst anlegen:

    config.json b:

    {
        "serverRoot": "http://localhost:8000",
        "port": 8000,
        "dbtype": "sqlite3",
        "dbconfig": "file:test.db?cache=shared&mode=memory",
        "useSSL": false,
        "webpath": "./pack",
        "filespath": "./data/files",
        "telemetry": true,
        "prometheusaddress": ":9092",
        "session_expire_time": 2592000,
        "session_refresh_time": 18000,
        "localOnly": false,
        "enableLocalMode": true,
        "localModeSocketLocation": "/var/tmp/focalboard_local.socket"
    }
    

    Was ist das Problem mit config.json b? Jetzt wird sqlite3 db verwendet, aber in-memory!!! Das heißt, wenn ich docker compose neu starte, ist alles weg ...

    config.json c:

    {
        "serverRoot": "http://localhost:8000",
        "port": 8000,
        "dbtype": "sqlite3",
        "dbconfig": "file:test.db?cache=shared&mode=rwc",
        "useSSL": false,
        "webpath": "./pack",
        "filespath": "./data/files",
        "telemetry": true,
        "prometheusaddress": ":9092",
        "session_expire_time": 2592000,
        "session_refresh_time": 18000,
        "localOnly": false,
        "enableLocalMode": true,
        "localModeSocketLocation": "/var/tmp/focalboard_local.socket"
    }
    

    Was ist das Problem mit config.json c? Ich weiß nicht, ob und wo test.db angelegt wird ...

    Ich kenne mich mit golang (database connection strings) nur ganz wenig aus. Habt ihr vielleicht eine Idee?



  • Hm, mit

    "dbconfig": "./focalboard.db?_busy_timeout=5000",

    scheint es zu funktionieren. Hier gefunden: https://github.com/mattermost/focalboard/blob/main/config.json . Weiß nur noch nicht, ob die Daten jetzt auch persistiert werden.


Anmelden zum Antworten