My infrastructure with docker and Caddy for bensuperpc.org (WIP)
Go to file
Bensuperpc 1babc4f57b Update with Caddy
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2023-11-25 10:03:44 +01:00
caddy Update with Caddy 2023-11-25 10:03:44 +01:00
env Update with Caddy 2023-11-25 10:03:44 +01:00
.gitignore Update caddy 2023-04-11 23:32:02 +02:00
.gitmodules Remove old website 2023-03-19 19:15:53 +01:00
docker-compose.yml Update with Caddy 2023-11-25 10:03:44 +01:00
LICENSE Initial commit 2022-11-24 13:29:36 +01:00
Makefile Update with Caddy 2023-11-25 10:03:44 +01:00
php.ini Update with Caddy 2023-11-25 10:03:44 +01:00
README.md Update with Caddy 2023-11-25 10:03:44 +01:00

Infrastructure

My personal infrastructure for my servers and services.

**I moved to caddy inetead of nginx, you can find the old version before this commit:b98fca7af8

About

This is my infrastructure. It's a collection of scripts and configuration files that I use to manage my servers and services. It uses ~~Nginx ~~ caddy and docker-compose to run my services (And many other things). It's a work in progress, and I'm still learning a lot about it. If you have any questions or suggestions, feel free to open an issue or a pull request.

Features

  • caddy 2 reverse proxy
  • Docker / docker-compose
  • Letsencrypt / Certbot (Caddy)
  • Wordpress (Via FASTCGI/caddy)
  • PHPMyAdmin (MariaDB)
  • Qbittorrent
  • Jellyfin
  • Gitea
  • Mastodon
  • Minecraft server (Hyperworld v2)
  • SSL for all subdomains / Services (Not just the main domain)

Screenshots

Installation and configuration

Requirements

Clone

Clone this repository to your local machine using:

git clone --recurse-submodules --remote-submodules https://github.com/bensuperpc/infrastructure.git

Go to the folder

cd infrastructure

Get the SSL certificate

For all bensuperpc.org, you need to replace it with your domain, example: bensuperpc.com

find . \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i 's/bensuperpc.org/bensuperpc.com/g'

And then, caddy will generate the certificate for you and renew it automatically :D (It's easier than certbot and nginx)

Configure the infrastructure

You must create a folder named env with the following content:

file named .env with the following content:

MARIADB_ROOT_PASSWORD=7L1Ncbquax0B2TCOmrjaQl9n5mnY88bQ
MARIADB_USER=bensuperpc
MARIADB_PASSWORD=lEOEf8cndnDjp84O4Uv5D9zJLJDFatLw
MARIADB_DATABASE=wordpress

Wordpress website

For the Wordpress website, you can configure in GUI when you go to the website.

Start the infrastructure

Start the website with:

make start-at

Stop the website with (or CTRL+C with the previous command):

make stop

URL

You can access to the website with:

Build with

License

License