petersweb-infra/nixos/arion-atitraining/arion-compose.nix

57 lines
1.6 KiB
Nix
Raw Normal View History

2026-06-25 20:43:10 -08:00
{ 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";
};
};
};
};
}