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 begit-credential-libsecret
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 rundbus-uuidgen > /var/lib/dbus/machine-id
- I (probably?) solved it by installing
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 rundbus-launch --sh-syntax
(from here) but with no luck this time. The error continues.
- I tried to install
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?