The Wayback Machine - https://web.archive.org/web/20230107193941/https://github.com/SimonXIX/personal_server_docker
Skip to content

Stable Docker Compose and Nginx configuration for applications deployment on my personal server (Flask, onion service for Flask, WordPress, Sandstorm, GoAccess, Joplin Server, Plex Media Server, and PHP web apps)

License

SimonXIX/personal_server_docker

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Docker Compose and Nginx configuration for simonxix.com

This repository is the Docker Compose and Nginx configuration for the SSD virtual server running https://simonxix.com and https://rlc.sandcats.io. It's potentially useful for anyone looking to deploy WordPress, Sandstorm, GoAccess, Joplin Server, or PHP against Nginx in Docker Compose.

Technical details

IP address: 82.163.79.194

Operating system: Ubuntu 22.04.1 LTS

Processors: 4 cores

RAM: 1GB

Hard disk space: 50 GB

Bandwidth: 3TB

Docker Compose

All running services on simonxix.com are running as Docker containers. These run from /home/simonxix/docker and currently includes MySQL, WordPress (PHP), Apache Solr, GoAccess, Nginx, and Sandstorm.

sudo docker-compose down

sudo docker-compose up -d --build

SSL

The Sandstorm server is SSL secured. This was done by setting up a wildcard certificate for the simonxix.com domain name (https://medium.com/@utkarsh_verma/how-to-obtain-a-wildcard-ssl-certificate-from-lets-encrypt-and-setup-nginx-to-use-wildcard-cfb050c8b33f) and then setting up Sandstorm with Nginx for reverse proxy (https://docs.sandstorm.io/en/latest/administering/reverse-proxy/).

Run this command to get a wildcard SSL certificate from Let's Encrypt:

sudo certbot --server https://acme-v02.api.letsencrypt.org/directory -d *.simonxix.com --manual --preferred-challenges dns-01 certonly

As of 2021-09-22, Sandstorm runs behind a reverse proxy to preserve the old rlc.sandcats.io domain name following instructions at https://juanjoalvarez.net/posts/2017/how-set-sandstorm-behind-reverse-proxy-keeping-you/. This uses Sandcats' own SSL certificates which might be a problem when they expire. I'll deal with that when it comes to it.

2021-09-23: I dealt with it. Certbot now runs in Docker to renew the simonxix.com domain (cron-ed for once a day) while Sandstorm renews its own certificates and a script (extract_certs.sh) runs in the Sandstorm container to copy those certificates to Nginx SSL folder. In turn, another script (sandstorm_ssl_renew.sh) runs the extract_certs.sh script once a day.

The wildcard certificates are still useful for any other subdomain I want to set up such testing.simonxix.com.

About

Stable Docker Compose and Nginx configuration for applications deployment on my personal server (Flask, onion service for Flask, WordPress, Sandstorm, GoAccess, Joplin Server, Plex Media Server, and PHP web apps)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published