57 lines
1.6 KiB
Nix
57 lines
1.6 KiB
Nix
|
|
{ pkgs, ... }:
|
||
|
|
{
|
||
|
|
project.name = "atitraining";
|
||
|
|
|
||
|
|
networks.atitraining.external = false;
|
||
|
|
|
||
|
|
services = {
|
||
|
|
db = {
|
||
|
|
service = {
|
||
|
|
image = "mariadb:11.4";
|
||
|
|
container_name = "atitraining-db";
|
||
|
|
restart = "unless-stopped";
|
||
|
|
networks = [ "atitraining" ];
|
||
|
|
volumes = [
|
||
|
|
"/var/atitraining/db:/var/lib/mysql"
|
||
|
|
];
|
||
|
|
environment = {
|
||
|
|
MARIADB_DATABASE = "atitraining";
|
||
|
|
MARIADB_USER = "atitraining";
|
||
|
|
MARIADB_PASSWORD = "atitraining";
|
||
|
|
MARIADB_ROOT_PASSWORD = "atitrainingroot";
|
||
|
|
};
|
||
|
|
healthcheck = {
|
||
|
|
test = [ "CMD" "healthcheck.sh" "--connect" "--innodb_initialized" ];
|
||
|
|
interval = "10s";
|
||
|
|
timeout = "5s";
|
||
|
|
retries = 10;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
wordpress = {
|
||
|
|
service = {
|
||
|
|
# Image pre-built by build-atitraining-image.service from nixos/atitraining/Dockerfile
|
||
|
|
# Pinned to WordPress 6.7.2-php8.3-apache.
|
||
|
|
image = "atitraining-wordpress:local";
|
||
|
|
container_name = "atitraining-wordpress";
|
||
|
|
restart = "unless-stopped";
|
||
|
|
networks = [ "atitraining" ];
|
||
|
|
depends_on = [ "db" ];
|
||
|
|
ports = [ "127.0.0.1:3015:80" ];
|
||
|
|
volumes = [
|
||
|
|
"/var/atitraining/wp-uploads:/var/www/html/wp-content/uploads"
|
||
|
|
];
|
||
|
|
environment = {
|
||
|
|
WORDPRESS_DB_HOST = "db";
|
||
|
|
WORDPRESS_DB_NAME = "atitraining";
|
||
|
|
WORDPRESS_DB_USER = "atitraining";
|
||
|
|
WORDPRESS_DB_PASSWORD = "atitraining";
|
||
|
|
# Change this after first login via /wp-admin
|
||
|
|
WORDPRESS_ADMIN_PASSWORD = "changeme";
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|