database setup for outsidethebox.top webhosting infrastructure project
https://data.outsidethebox.top
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
CREATE DATABASE IF NOT EXISTS `DATABASE_NAME` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; |
|
USE `DATABASE_NAME`; |
|
|
|
-- Hosts registry for outsidethebox.top (and other zones) |
|
CREATE TABLE IF NOT EXISTS hosts ( |
|
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, |
|
|
|
-- DNS grouping |
|
zone VARCHAR(255) NOT NULL, -- e.g. etica-stats.org |
|
sub VARCHAR(255) NULL, -- e.g. explorer (NULL/empty for apex) |
|
fqdn VARCHAR(512) NOT NULL, -- e.g. explorer.etica-stats.org (unique) |
|
|
|
-- Status / monitoring |
|
monitor_enabled TINYINT(1) NOT NULL DEFAULT 0, |
|
status_code_http INT NULL, |
|
status_code_https INT NULL, |
|
status ENUM('up','down','unknown') NOT NULL DEFAULT 'unknown', |
|
last_check_at DATETIME NULL, |
|
last_error TEXT NULL, |
|
|
|
-- SSL |
|
ssl_expires_at DATETIME NULL, |
|
|
|
-- Host/service expiry (your "hostname expires") |
|
host_expires_at DATETIME NULL, |
|
|
|
-- Infra placement |
|
public_ip VARCHAR(64) NULL, |
|
private_ip VARCHAR(64) NULL, |
|
pve_host VARCHAR(128) NULL, |
|
|
|
-- Business fields |
|
client_name VARCHAR(255) NULL, |
|
email VARCHAR(255) NULL, |
|
country VARCHAR(128) NULL, |
|
package_type VARCHAR(128) NULL, |
|
dns_provider VARCHAR(128) NULL, |
|
notes TEXT NULL, |
|
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, |
|
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, |
|
|
|
UNIQUE KEY uq_hosts_fqdn (fqdn), |
|
KEY idx_zone_sub (zone, sub), |
|
KEY idx_client (client_name) |
|
); |
|
|
|
|