@@ -7,6 +7,7 @@ import { Server } from "../../server/server"
77import { cmd } from "./cmd"
88import { withNetworkOptions , resolveNetworkOptions } from "../network"
99import { Flag } from "../../flag/flag"
10+ import { bootstrap } from "../bootstrap"
1011import { Workspace } from "../../control-plane/workspace"
1112import { Project } from "../../project"
1213import { Installation } from "../../installation"
@@ -217,7 +218,7 @@ export const ServeCommand = cmd({
217218 } ) ,
218219 describe : "starts a headless opencode server" ,
219220 handler : async ( args ) => {
220- const opts = await resolveNetworkOptions ( args )
221+ const networkOpts = await resolveNetworkOptions ( args )
221222 const relayURL = (
222223 args [ "relay-url" ] ??
223224 process . env . OPENCODE_EXPERIMENTAL_PUSH_RELAY_URL ??
@@ -233,7 +234,7 @@ export const ServeCommand = cmd({
233234 . split ( "," )
234235 . map ( ( item ) => item . trim ( ) )
235236 . filter ( Boolean )
236- const tailscaleAdvertiseHost = readTailscaleAdvertiseHost ( opts . hostname )
237+ const tailscaleAdvertiseHost = readTailscaleAdvertiseHost ( networkOpts . hostname )
237238 const advertiseHosts = [
238239 ...new Set ( [
239240 ...advertiseHostsFromArg ,
@@ -247,7 +248,12 @@ export const ServeCommand = cmd({
247248 const connectQR = Boolean ( args [ "connect-qr" ] )
248249
249250 if ( connectQR ) {
250- const pairHosts = hosts ( opts . hostname , opts . port > 0 ? opts . port : 4096 , advertiseHosts , false )
251+ const pairHosts = hosts (
252+ networkOpts . hostname ,
253+ networkOpts . port > 0 ? networkOpts . port : 4096 ,
254+ advertiseHosts ,
255+ false ,
256+ )
251257 if ( ! pairHosts . length ) {
252258 console . log ( "connect qr mode requires at least one valid advertised host" )
253259 return
@@ -270,6 +276,7 @@ export const ServeCommand = cmd({
270276 console . log ( "Warning: OPENCODE_SERVER_PASSWORD is not set; server is unsecured." )
271277 }
272278
279+ const opts = await bootstrap ( process . cwd ( ) , ( ) => resolveNetworkOptions ( args ) )
273280 const server = await Server . listen ( opts )
274281 console . log ( `opencode server listening on http://${ server . hostname } :${ server . port } ` )
275282
0 commit comments