clone from private repo
This commit is contained in:
commit
c0ae983acb
48 changed files with 2766 additions and 0 deletions
133
mail_system/tasks/database.yml
Normal file
133
mail_system/tasks/database.yml
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
- name: apt install python3-psycopg2
|
||||
apt:
|
||||
name: python3-psycopg2
|
||||
state: present
|
||||
|
||||
- name: database table domains
|
||||
postgresql_table:
|
||||
login_host: "{{ mailserver.postgresql.host }}"
|
||||
port: "{{ mailserver.postgresql.port }}"
|
||||
login_user: "{{ mailserver.postgresql.username }}"
|
||||
login_password: "{{ mailserver.postgresql.password }}"
|
||||
db: "{{ mailserver.postgresql.dbname }}"
|
||||
ssl_mode: disable
|
||||
name: domains
|
||||
columns:
|
||||
- id bigserial primary key
|
||||
- name varchar(128) not null unique
|
||||
- relay_transport text null
|
||||
|
||||
- name: database table users
|
||||
postgresql_table:
|
||||
login_host: "{{ mailserver.postgresql.host }}"
|
||||
port: "{{ mailserver.postgresql.port }}"
|
||||
login_user: "{{ mailserver.postgresql.username }}"
|
||||
login_password: "{{ mailserver.postgresql.password }}"
|
||||
db: "{{ mailserver.postgresql.dbname }}"
|
||||
ssl_mode: disable
|
||||
name: users
|
||||
columns:
|
||||
- id BIGSERIAL PRIMARY KEY
|
||||
- domain_id BIGINT references domains(id) on delete cascade
|
||||
- username VARCHAR(128) NOT NULL
|
||||
- realname VARCHAR(250) NOT NULL
|
||||
- password VARCHAR(128) NOT NULL
|
||||
- suspend_submission BOOL NOT NULL DEFAULT false
|
||||
- suspend_imap_reason TEXT NULL
|
||||
- quota_storage_bytes BIGINT NOT NULL DEFAULT 100000000000
|
||||
- quota_inbox_messages INT NOT NULL DEFAULT 500000
|
||||
- unique(domain_id, username)
|
||||
|
||||
- name: database index users__domain_username
|
||||
postgresql_idx:
|
||||
login_host: "{{ mailserver.postgresql.host }}"
|
||||
port: "{{ mailserver.postgresql.port }}"
|
||||
login_user: "{{ mailserver.postgresql.username }}"
|
||||
login_password: "{{ mailserver.postgresql.password }}"
|
||||
db: "{{ mailserver.postgresql.dbname }}"
|
||||
ssl_mode: disable
|
||||
table: users
|
||||
columns: domain_id, username
|
||||
idxname: users__domain_username
|
||||
|
||||
- name: database table aliases
|
||||
postgresql_table:
|
||||
login_host: "{{ mailserver.postgresql.host }}"
|
||||
port: "{{ mailserver.postgresql.port }}"
|
||||
login_user: "{{ mailserver.postgresql.username }}"
|
||||
login_password: "{{ mailserver.postgresql.password }}"
|
||||
db: "{{ mailserver.postgresql.dbname }}"
|
||||
ssl_mode: disable
|
||||
name: aliases
|
||||
columns:
|
||||
- id bigserial primary key
|
||||
- alias_domain_id bigint references domains(id) on delete cascade
|
||||
- alias varchar(250) not null unique
|
||||
- forwardings varchar(250)[] not null
|
||||
- t timestamp without time zone not null default now()
|
||||
- comment text null
|
||||
|
||||
- name: database index aliases__alias
|
||||
postgresql_idx:
|
||||
login_host: "{{ mailserver.postgresql.host }}"
|
||||
port: "{{ mailserver.postgresql.port }}"
|
||||
login_user: "{{ mailserver.postgresql.username }}"
|
||||
login_password: "{{ mailserver.postgresql.password }}"
|
||||
db: "{{ mailserver.postgresql.dbname }}"
|
||||
ssl_mode: disable
|
||||
table: aliases
|
||||
columns: alias
|
||||
idxname: aliases__alias
|
||||
|
||||
- name: database table shared_folders
|
||||
postgresql_table:
|
||||
login_host: "{{ mailserver.postgresql.host }}"
|
||||
port: "{{ mailserver.postgresql.port }}"
|
||||
login_user: "{{ mailserver.postgresql.username }}"
|
||||
login_password: "{{ mailserver.postgresql.password }}"
|
||||
db: "{{ mailserver.postgresql.dbname }}"
|
||||
ssl_mode: disable
|
||||
name: shared_folders
|
||||
columns:
|
||||
- id bigserial primary key
|
||||
- from_user varchar(128) not null
|
||||
- to_user varchar(128) not null
|
||||
- dummy char(1) DEFAULT '1'
|
||||
|
||||
- name: database index shared_folders__from_to
|
||||
postgresql_idx:
|
||||
login_host: "{{ mailserver.postgresql.host }}"
|
||||
port: "{{ mailserver.postgresql.port }}"
|
||||
login_user: "{{ mailserver.postgresql.username }}"
|
||||
login_password: "{{ mailserver.postgresql.password }}"
|
||||
db: "{{ mailserver.postgresql.dbname }}"
|
||||
ssl_mode: disable
|
||||
table: shared_folders
|
||||
columns: from_user, to_user
|
||||
idxname: shared_folders__from_to
|
||||
|
||||
- name: database table shared_folders_anyone
|
||||
postgresql_table:
|
||||
login_host: "{{ mailserver.postgresql.host }}"
|
||||
port: "{{ mailserver.postgresql.port }}"
|
||||
login_user: "{{ mailserver.postgresql.username }}"
|
||||
login_password: "{{ mailserver.postgresql.password }}"
|
||||
db: "{{ mailserver.postgresql.dbname }}"
|
||||
ssl_mode: disable
|
||||
name: shared_folders_anyone
|
||||
columns:
|
||||
- id bigserial primary key
|
||||
- from_user varchar(128) not null
|
||||
- dummy char(1) DEFAULT '1'
|
||||
|
||||
- name: database index shared_folders_anyone__from
|
||||
postgresql_idx:
|
||||
login_host: "{{ mailserver.postgresql.host }}"
|
||||
port: "{{ mailserver.postgresql.port }}"
|
||||
login_user: "{{ mailserver.postgresql.username }}"
|
||||
login_password: "{{ mailserver.postgresql.password }}"
|
||||
db: "{{ mailserver.postgresql.dbname }}"
|
||||
ssl_mode: disable
|
||||
table: shared_folders_anyone
|
||||
columns: from_user
|
||||
idxname: shared_folders__from
|
||||
Loading…
Add table
Add a link
Reference in a new issue