add warehost-ftp
This commit is contained in:
parent
20674d5352
commit
94b808395c
|
@ -2,4 +2,4 @@ mailserver/files/
|
|||
warehost-api/files/
|
||||
warehost-web/files/
|
||||
warehost-host/files/
|
||||
|
||||
warehost-ftp/files/
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
warehost_db_host: localhost
|
||||
warehost_ftp_port: 22
|
||||
warehost_ftp_data_path: /srv/ftp
|
||||
warehost_ftp_host_path: /srv/http/domain
|
||||
warehost_ftp_web_path: /srv/http/web
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
- name: reload daemon-reload
|
||||
command: systemctl daemon-reload
|
||||
|
||||
- name: restart warehost-ftp
|
||||
service: name=warehost-ftp state=restarted
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
dependencies:
|
||||
- warehost-meta
|
||||
- warehost-db
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
- name: Download Warehost-ftp (TODO current copy)
|
||||
copy: src=warehost-ftp dest=/usr/local/bin/warehost-ftp owner=root group=root mode=0755
|
||||
|
||||
- name: Create data folder
|
||||
file: path={{warehost_ftp_data_path}} state=directory owner=warehost group=http mode=0770
|
||||
|
||||
- name: Configurate warehost
|
||||
template: src=config.yml dest=/etc/warehost/ftp.conf owner=warehost mode=0600
|
||||
notify: restart warehost-ftp
|
||||
|
||||
- name: Install service
|
||||
template: src=warehost-ftp.unit dest=/lib/systemd/system/warehost-ftp.service owner=root mode=644
|
||||
notify:
|
||||
- reload daemon-reload
|
||||
- restart warehost-ftp
|
||||
|
||||
- name: Enable warehost
|
||||
service: name=warehost-ftp state=started enabled=yes
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
database: "host={{warehost_db_host}} user={{warehost_db_user}} dbname={{warehost_db_dbname}} password={{warehost_db_pass}} sslmode=disable"
|
||||
log:
|
||||
path: /var/log/warehost/ftp.log
|
||||
databasedebug: false
|
||||
port: {{warehost_ftp_port}}
|
||||
data: {{warehost_ftp_data_path}}/%d/
|
||||
host: {{warehost_ftp_host_path}}/%s/
|
||||
web: {{warehost_ftp_web_path}}/%d/
|
|
@ -0,0 +1,15 @@
|
|||
[Unit]
|
||||
Description=Warehost ftp v2
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
After=postgresql.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=warehost
|
||||
Group=nobody
|
||||
ExecStart=/usr/local/bin/warehost-ftp -c /etc/warehost/ftp.conf
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
warehost_db_host: localhost
|
||||
warehost_host_web_type: caddy
|
||||
warehost_host_web_path: /etc/caddy/hosts/50-gen-warehost.act
|
||||
warehost_host_web_webroot: /srv/http/domain
|
||||
warehost_host_db_type: mysql
|
||||
warehost_host_db_host: ""
|
||||
warehost_host_db_user: root
|
||||
warehost_host_db_pass: "{{ lookup('password', 'credentials/mysql_root length=15') }}"
|
||||
warehost_host_db_prefix: warehost_db
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
- name: reload daemon-reload
|
||||
command: systemctl daemon-reload
|
||||
|
||||
- name: restart warehost-host
|
||||
service: name=warehost-host.timer state=restarted
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
dependencies:
|
||||
- warehost-meta
|
||||
- warehost-db
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
- name: Download Warehost-host (TODO current copy)
|
||||
copy: src=warehost-host dest=/usr/local/bin/warehost-host owner=root group=root mode=0755
|
||||
|
||||
- name: Configurate warehost-host
|
||||
template: src=config.yml dest=/etc/warehost/host.conf owner=warehost mode=0600
|
||||
notify: restart warehost-host
|
||||
|
||||
- name: Configurate host template
|
||||
template: src={{warehost_host_web_type}}.conf dest=/etc/warehost/host-web.tmpl owner=warehost mode=0600
|
||||
notify: restart warehost-host
|
||||
|
||||
- name: Configurate warehost-host
|
||||
file: path={{warehost_host_web_path}} state=touch owner=warehost group=http mode=0660
|
||||
|
||||
- name: Install service
|
||||
template: src=warehost-host.{{item}} dest=/lib/systemd/system/warehost-host.{{item}} owner=root mode=644
|
||||
with_items:
|
||||
- service
|
||||
- timer
|
||||
notify:
|
||||
- reload daemon-reload
|
||||
- restart warehost-host
|
||||
|
||||
- name: Enable warehost
|
||||
service: name=warehost-host.timer state=started enabled=yes
|
|
@ -0,0 +1,49 @@
|
|||
#jinja2:variable_start_string:'[%' , variable_end_string:'%]'
|
||||
# ID: {{.ID}} - Domain: {{.Domain.ID}} - Profil: {{.Domain.Profil.ID}}
|
||||
# Login: {{.Domain.Profil.Login.ID}} -> {{.Domain.Profil.Login.Username}}
|
||||
# {{.Subdomain}} - {{.Domain.FQDN}}
|
||||
|
||||
{{ define "domain" }}{{if .Subdomain}}{{.Subdomain}}.{{end}}{{.Domain.FQDN}}{{ end }}
|
||||
{{ define "content"}}
|
||||
{{if not .Redirect}}
|
||||
gzip
|
||||
{{if .Proxy}}
|
||||
proxy / {{.Proxy}}
|
||||
{{else}}
|
||||
root [% warehost_host_web_webroot %]/{{template "domain" .}}
|
||||
{{if .PHP}}
|
||||
fastcgi / unix:/run/php-fpm/php-fpm.sock php {
|
||||
env PHP_ADMIN_VALUE "open_basedir=/tmp:/usr/share/webapps/:/etc/webapps/:/usr/share/pear:/dev/urandom:[% warehost_host_web_webroot %]/{{template "domain" .}}"
|
||||
}
|
||||
rewrite {
|
||||
to {path} {path}/ /index.php?_url={uri}
|
||||
}
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{else}}
|
||||
redir https://{{.Redirect}}{uri}
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
||||
{{if .SSL}}
|
||||
{{if .SSLRedirect}}
|
||||
http://{{template "domain".}} {
|
||||
{{if not .Redirect}}
|
||||
redir https://{{template "domain".}}{uri}
|
||||
{{else}}
|
||||
{{template "content" .}}
|
||||
{{end}}
|
||||
}
|
||||
https://{{template "domain".}} {
|
||||
{{template "content" .}}
|
||||
}
|
||||
{{else}}
|
||||
http://{{template "domain" .}},https://{{template "domain".}} {
|
||||
{{template "content" .}}
|
||||
}
|
||||
{{end}}
|
||||
{{else}}
|
||||
http://{{template "domain".}} {
|
||||
{{template "content" .}}
|
||||
}
|
||||
{{end}}
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
warehostdatabase: "host={{warehost_db_host}} user={{warehost_db_user}} dbname={{warehost_db_dbname}} password={{warehost_db_pass}} sslmode=disable"
|
||||
log:
|
||||
path: /var/log/warehost/host.log
|
||||
databasedebug: false
|
||||
web:
|
||||
enable: true
|
||||
template: /etc/warehost/host-web.tmpl
|
||||
config: {{warehost_host_web_path}}
|
||||
database:
|
||||
enable: true
|
||||
type: {{warehost_host_db_type}}
|
||||
connection: "{{warehost_host_db_user}}:{{warehost_host_db_pass}}@{{warehost_host_db_host}}/mysql?interpolateParams=true"
|
||||
prefix: {{warehost_host_db_prefix}}
|
|
@ -0,0 +1,16 @@
|
|||
[Unit]
|
||||
Description=Warehost host to configurate the Webserver and Database
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
After=postgresql.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=warehost
|
||||
Group=nobody
|
||||
ExecStart=/usr/local/bin/warehost-host -c /etc/warehost/host.conf
|
||||
PermissionsStartOnly=true
|
||||
ExecStartPost=/usr/bin/systemctl reload {{warehost_host_web_type}}
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,9 @@
|
|||
[Unit]
|
||||
Description=Warehost host to configurate the Webserver and Database
|
||||
|
||||
[Timer]
|
||||
OnBootSec=15min
|
||||
OnUnitActiveSec=5min
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
|
@ -2,4 +2,4 @@
|
|||
warehost_db_host: localhost
|
||||
warehost_web_internal_ip: 127.0.0.1
|
||||
warehost_web_internal_port: 60000
|
||||
warehost_web_webroot: /srv/warehost-web
|
||||
warehost_web_webroot: /srv/http/web
|
||||
|
|
Reference in New Issue