This is actually a question following from my previous one.
I am trying to use docker to host a personal note-taking web service and want to backup data generated by the service (my notes).
Currently I plan to use git to commit, pull, and push to a repository for my purpose.
To do git pull and push, my docker image needs to host my credentials. What is the easiest yet safe way to achieve this?
What I have done so far:
- I choose
Alpine as the base image of the image of my service.
- Because I only need credentials for git, I think put a git credential helper into the image may solve my problem. I can save credentials to the helper during the build time and use them during runtime.
- I googled a while and decided to use
libsecret as my git credential helper, according to this article.
- I have installed
libsecret and set my git credential helper to be
However, I cannot make
git-credential-libsecret functional so far. Here are a couple of problems that I encountered:
Firstly, I tested
git-credential-libsecret get and get the following error:
CRITICAL **: could not connect to Secret Service: Cannot spawn a message bus without a machine-id: Unable to load /var/lib/dbus/machine-id or /etc/machine-id: Failed to open file */var/lib/dbus/machine-id*: No such file or directory
- I (probably?) solved it by installing
dbus and run
dbus-uuidgen > /var/lib/dbus/machine-id
Then I try to run
git-credential-libsecret get again. This time, it reports that:
CRITICAL **: could not connect to Secret Service: Cannot autolaunch D-Bus without X11 $DISPLAY
- I tried to install
dbus-x11 and run
dbus-launch --sh-syntax(from here) but with no luck this time. The error continues.
In conclusion, I would like to know:
- Am I on a right direction (using git credential helper) to achieve my goal?
- If so, how can I resolve the X11 problem?
- Are there any other quick and clean methods to backup data in docker with version control?