My current VPS setup
A few months ago I made a post on Proxmox and what I run/ran on my physical home server, and whilst I have now fixed my hardware issues (by geting completely different hardware) I am yet to recreate all my VMs on that machine. So in the meantime, using my GitHub Student credits I have setup a VPS with DigitalOcean.
What I run #
My blog (what you are currently reading) is hosted on my droplet using 11ty and Docker. It is essentially the same as what I have done previously except instead of deploying to netlify I have Docker build the site and expose it on my server with this Dockerfile
FROM node:10-alpine3.9 as npmpackages
COPY package.json .
RUN npm install
FROM node:10-alpine3.9 as builder
COPY /app /app
COPY . .
RUN npm run build
RUN rm -r /usr/share/nginx/html/
COPY /app/_site/ /usr/share/nginx/html/
Git server #
My Git server at https://git.crimsontome.com (as reccomended by a good friend Starbeamrainbowlabs) is created using Gitea. I use it to host most of my private repositories and store backups of some important repos from GtiHub, just in case. I had some issues setting this up in a Docker container so i just run the standalone package.
https://links.crimsontome.com is created from a littlelink container. It is an open-source self-hosted alternative to services like LinkTree. It contains links to most of my public services and is ran through this docker-compose file
# dockerhub is also supported timothystewart6/littlelink-server
# image: timothystewart6/littlelink-server:latest
- META_DESCRIPTION=Linux Sysadmin and FOSS Enthusiast
- OG_DESCRIPTION=The home of CrimsonTome
- BIO=The home of CrimsonTomes links
# use ENV variable names for order, listed buttons will be boosted to the top
# you can render an unlimited amount of custom buttons by adding
# the CUSTOM_BUTTON_* variables and by using a comma as a separator.
- CUSTOM_BUTTON_TEXT=Blog,LinkedIn, Git Service, PasteBin Service
- CUSTOM_BUTTON_ALT_TEXT=My blog,LinkedIn,Gitea,PrivateBin
- CUSTOM_BUTTON_ICON=fas file-alt,fas file-alt,fas file-alt,fas file-alt
- FOOTER=CrimsonTome © 2022
Nginx Proxy Mangager #
Nginx Proxy Manager is a project that 'comes as a pre-built docker image that enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt'
You can also use it to lock sites that don't come with their own authenticattion. You can read about how to do that here
PrivateBin server #
Whilst currently not fully functional, https://paste.crimsontome.com hosts my PrivateBin instance. Like most of my services it runs inside a docker container
docker run -d --restart="always" --read-only -p 8080:8080 -v $PWD/privatebin-data:/srv/data privatebin/nginx-fpm-alpine
Dashy can be ran in a docker container, but some plugins do not work whilst Dashy is in one, so I am using npm to build and serve it instead. Once you are done setting up dashy
git clone https://github.com/Lissy93/dashy.git
# make your changes to public/conf
npm run build
npm run start
Server metrics with NetData #
I use NetData to provide server metrics for my dashboard such as CPU, Memory and disk usage, alognside many others