@@ -3,6 +3,7 @@ import path from 'path'
33import { Host } from './ansible/types.js'
44import * as blocks from './blocks/index.js'
55import { Server , ServerConfig } from './types.js'
6+ import { caddy } from './reverse_proxy/index.js'
67
78export function server ( config : ServerConfig ) : Server {
89 const user = os . userInfo ( ) . username
@@ -14,16 +15,20 @@ export function server(config: ServerConfig): Server {
1415 const hosty_dir = config . hosty_dir || '/srv/hosty'
1516 const backups_dir = path . join ( hosty_dir , 'backups' )
1617 const services_dir = path . join ( hosty_dir , 'services' )
18+ const logs_dir = path . join ( hosty_dir , 'logs' )
19+
1720 return {
1821 connection,
1922 hosty_dir,
2023 backups_dir,
2124 services_dir,
25+ logs_dir,
2226 name : config . name ,
2327 ssh_key : config . ssh_key || { path : '~/.ssh/id_rsa' , passphrase : '' } ,
2428 git_config : config . git_config || { } ,
2529 docker_network : config . docker_network || 'hosty' ,
2630 docker_prefix : config . docker_prefix || '' ,
31+ reverse_proxy : config . reverse_proxy || caddy ( ) ,
2732 get_service_dir : ( name ) => path . join ( services_dir , name ) ,
2833 get_backups_dir : ( name ) => path . join ( backups_dir , name ) ,
2934 }
@@ -58,6 +63,7 @@ export function get_setup_tasks(server: Server) {
5863 blocks . generate_ssh_key ( server . ssh_key ) ,
5964 blocks . install_nixpacks ( ) ,
6065 blocks . create_directory ( server . hosty_dir ) ,
61- blocks . install_caddy ( `${ server . services_dir } /*/Caddyfile` ) ,
66+ blocks . create_directory ( server . logs_dir , { mode : '0777' } ) ,
67+ ...server . reverse_proxy . get_server_tasks ( server ) ,
6268 ]
6369}
0 commit comments