3.9 KiB
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
- Caddy
- Wordpress (Via FASTCGI/caddy)
- Adminer (MariaDB)
Screenshots
Installation and configuration
Requirements
- Docker
- Docker Compose
- Git
- Web domain (I use OVH)
- Open port 80 and 443 on your router (I use a Orange box with default IP)
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: mydomain.com
find . \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i 's/bensuperpc.org/mydomain.com/g'
Check if all bensuperpc.* are replaced by your domain in Caddyfile
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 need to configure the infrastructure with your own configuration.
For the wordpress.env file, you need to change the password and user for the database.
WORDPRESS_DB_USER=bensuperpc
WORDPRESS_DB_PASSWORD=lEOEf8cndnDjp84O4Uv5D9zJLJDFatLw
WORDPRESS_DB_NAME=wordpress
WORDPRESS_DB_HOST=database:3306
For mariadb.env file, you need to change the password(s) and user for the database.
MARIADB_ROOT_PASSWORD=7L1Ncbquax0B2TCOmrjaQl9n5mnY88bQ
MARIADB_USER=bensuperpc
MARIADB_PASSWORD=lEOEf8cndnDjp84O4Uv5D9zJLJDFatLw
MARIADB_DATABASE=wordpress
For adminer.env file, you need to change the password(s) and user for the database.
MYSQL_ROOT_PASSWORD=7L1Ncbquax0B2TCOmrjaQl9n5mnY88bQ
MYSQL_USER=bensuperpc
MYSQL_PASSWORD=lEOEf8cndnDjp84O4Uv5D9zJLJDFatLw
ADMINER_DEFAULT_SERVER=database
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
Remove countainers with:
make down
URL
You can access to the website with:
- bensuperpc.org and www.bensuperpc.org (Wordpress for now)
Build with
- Wordpress
- Gnu Make
- Github API
- Github Actions
- Docker
- Docker Compose
- Docker Hub
- How To Start WordPress with Caddy using Docker Compose
- Digital Ocean - How To Install WordPress with Docker Compose (nginx)
- Letsencrypt
- Caddy