There are plenty of reasons to host your own git server vs using services like GitHub or GitLab. Beyond just learning something new, I prefer to use a private git server for pass (my password manager). Step 1: Setup an Ubuntu 18.04 server There are quite a few ways you can do this however I prefer to have the server accessible on the Internet so I can sync my computer(s) while I’m traveling.
When you need to setup a new Linux server on one of the popular VPS providers, the first steps are often similar. A big reason I have a blog is so I can copy/paste common tasks I need to do more than once. So, below are the first few steps I take when setting up a new Ubuntu 18.04 server on Digital Ocean. Step 1: Create new server, add ssh key While the directions will vary between VPS providers, the first step is to provision a new server and then configure it to accept SSH keys.
While converting my various websites to hugo static sites, I looked at various ways to push my local changes to production. Ultimately, I chose s3_website as the best choice for my setup. The tool is static site generator agnostic so works well with jekyll, middleman, hugo and others but in case you are curious, the tech stack I use is: hugo [static website generator] Amazon Web Servics (AWS) S3 for storage / web hosting Cloudfront for CDN Certificate Manager for TLS Route 53 for DNS (alias support) s3_website for deploys Installing s3_website on macOS Installing s3_website on macOS requires a few dependencies so I wanted to document them here for anyone else interested in using it.
If you are leveraging git submodule for Hugo themes and you are accustomed to using git diff to see what changes you made and totally forgot to commit, you will need to tweak your command for git submodules. By appending --submodule=diff you will see diffs for submodules as well: $ git diff --submodule=diff You can run this command at your top level repo and see all changes in that repo plus submodule(s) or cd into a specific submodule and see see the diffs for those changes only.
If you are leveraging git submodule for Hugh themes and you are accustomed to using git without passwords (via ssh urls), you’ll find that when you add a git submodule, it will be setup for “https urls” and thus prompt you for a password: $ git push origin master Username for 'https://github.com': This is obviously annoying but easy to fix. You can check the urls for your origin with git remote -v: