If you feel like it, you can use your Raspberry Pi 3 to host a Gitlab server. This post explains how you can do this.
cd Downloads unzip 2017-04-10-raspbian-jessie-lite.zip # Output Archive: 2017-04-10-raspbian-jessie-lite.zip inflating: 2017-04-10-raspbian-jessie-lite.img
Find the SD card
Plug the SD card and use
dmesg to find it:
dmesg | tail # Output [ 138.753330] CIFS VFS: Error connecting to socket. Aborting operation. [ 138.753386] CIFS VFS: Error connecting to socket. Aborting operation. [ 138.753690] CIFS VFS: cifs_mount failed w/return code = -113 [ 138.753717] CIFS VFS: cifs_mount failed w/return code = -113 [ 138.753725] CIFS VFS: cifs_mount failed w/return code = -113 [ 138.753769] CIFS VFS: cifs_mount failed w/return code = -113 [ 4170.871943] sd 6:0:0:0: [sde] 125042688 512-byte logical blocks: (64.0 GB/59.6 GiB) [ 4170.876516] sde: sde1
The card is sde1.
Copy the image to the SD card
cd ~/Downloads sudo dd bs=4M if=2017-04-10-raspbian-jessie-lite.img of=/dev/sde status=progress conv=fsync
Check the image
sudo dd bs=4M if=/dev/sde of=from-sd-card.img status=progress
sudo truncate --reference 2017-04-10-raspbian-jessie.img from-sd-card.img sudo diff -s from-sd-card.img 2017-04-10-raspbian-jessie.img
Run sync. This will ensure the write cache is flushed and that it is safe to unmount your SD card.
For security reasons, SSH is disabled by default on raspbian now.
We can enable it by adding an empty file named
sudo mkdir /mnt/rasp sudo mount /dev/sde1 /mnt/rasp sudo touch /mnt/rasp/ssh umount /dev/sde1 /dev/sde1
Place the card in the raspberry pi and plug the power.
ssh pi@raspberrypi # password is raspberrypi
Add a new user, add a ssh key and disable password authentication.
sudo apt-get update sudo apt-get upgrade sudo apt-get install git tree vim cifs-utils rpi-update sudo rpi-update
Auto mount NAS folders
Configure your NFS server as NO_ROOT_SQUASH.
sudo vim /etc/fstab
Add the following line, provided that you want to mount
Git/Gitlab from your
myNas:Git/Gitlab /home/sammy/GitLab nfs4
Remount everything to take your changes into account:
sudo mount -a
sudo apt-get install curl openssh-server ca-certificates postfix apt-transport-https curl https://packages.gitlab.com/gpg.key | sudo apt-key add - sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/script.deb.sh | sudo bash sudo apt-get install gitlab-ce sudo gitlab-ctl reconfigure
Connect to Gitlab
We assume your Raspberry Pi hostname is
homp02 on the network
Go to http://homp02.home, and use the user root to connect,
change the password at the first visit.
The external_url is displayed in mails sent by Gitlab.
You can find more information about how you can configure the SMTP service in the official documentation. Here is the configuration I used for OVH:
Configure alternative directory
sudo gitlab-ctl reconfigure
Configure Unicorn workers
If you need to adjust the Unicorn timeout or the number of workers you can use the following settings in /etc/gitlab/gitlab.rb. Run sudo gitlab-ctl reconfigure for the change to take effect.