Skip to content
Contains files required to build and deploy ashtonc.ca.
Shell Dockerfile PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
kubernetes
secrets
services
.gitignore
README.md
deploy.sh

README.md

This is the deployment process for my personal website. Some sections of the site are kept in separate repositories, but this script ties everything together.

I previously had my site hosted on Google Kubernetes Engine, which is an absolute pleasure to work with in terms of convenience. Once the setup was finished, it was easy to write scripts to update and manage the server. However, I was a bit unhappy with the price/performance ratio I was getting and ended up renting a server. I'll be able to host more services at a lower cost this way, though I will likely have a bit more downtime.

Other Setup

I use Cloudflare for their excellent DNS and CDN service. The only extra feature on my wishlist with Cloudflare is the ability to proxy wildcard DNS entries on the free plan, but I can live without that.

Current Services

  • NGINX as a reverse proxy for all other services and any static content.
  • Tiny Tiny RSS as a feed reader/aggregator.
  • Gitea for git repos.
  • PostgreSQL as my database engine of choice.

Services In Progress

  • Calibre Web for browsing and reading books.
  • MPD to serve music.
  • Plex to serve video.
  • Custom file storage application written in Go.

Deployment Process

  1. Set up a server with Docker and any other quality-of-life tools you would like.
  2. Build the docker images you would like to deploy and transfer them to the server.
  3. SSH into the server and deploy those images.
  4. Transfer any static files you would like to serve to the server.
You can’t perform that action at this time.