Skip to content

install

Martin Bjærge Jensen edited this page Jun 18, 2024 · 4 revisions

Installation requirements

Install node.js

Install Node.js on your server: https://nodejs.org/

Install yarn

npm install yarn -g

Log in to Septima NPM server

npm login --scope=@septima --registry=https://packages.septima.dk/repository/npm-hosted/

username: readonly password: [Contact Septima]

Install Onedoor

Create an install folder. E.g C:\onedoor\sites\onedoor-test.minkommune.dk

Download and extract desired onedoor version https://github.com/Septima/OneDoor/archive/refs/tags/1.17.0.zip (change version number) to your install folder.

In a command prompt, navigate to install folder and execute command:

yarn 

This should create the following file structure with a default configuration folder:

├── CHANGELOG.md
├── config
├── node_modules
├── package.json
├── postinstall.js
├── README.md
├── web.config
└── yarn.lock

Run onedoor under IIS on windows

Learn more here: https://onedoor.test.septima.dk/guide/iisnode.html

Configure IIS

IIS Manager

  • nyt site
    image

  • To allow handlers section it might be needed to unlock configuration section system.webServer/handlers in IIS configuration editor at server level: image

Test in browser

  • Test url onedoor-test.minkommune.dk in favourite browser

The web.config in the install folder should look something like this:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<appSettings>
		<add key="CONFIG_PATH" value="C:\onedoor\sites\onedoor-test.minkommune.dk\config" />
	</appSettings>
	<system.webServer>
		<iisnode      
		      node_env="%node_env%"
		      nodeProcessCountPerApplication="1"
		      maxConcurrentRequestsPerProcess="1024"
		      maxNamedPipeConnectionRetry="100"
		      namedPipeConnectionRetryDelay="250"      
		      maxNamedPipeConnectionPoolSize="512"
		      maxNamedPipePooledConnectionAge="30000"
		      asyncCompletionThreadCount="0"
		      initialRequestBufferSize="4096"
		      maxRequestBufferSize="65536"
		      watchedFiles="*.yml"
		      uncFileChangesPollingInterval="5000"      
		      gracefulShutdownTimeout="60000"
		      loggingEnabled="true"
		      logDirectory="C:\onedoor\sites\onedoor-test.minkommune.dk\log"
		      debuggingEnabled="true"
		      debugHeaderEnabled="false"
		      debuggerPortRange="5058-6058"
		      debuggerPathSegment="debug"
		      maxLogFileSizeInKB="128"
		      maxTotalLogFileSizeInKB="1024"
		      maxLogFiles="20"
		      devErrorsEnabled="true"
		      flushResponse="false"      
		      enableXFF="false"
		      promoteServerVars="LOGON_USER"
		      configOverrides="iisnode.yml"
     />
		<handlers>
			<add name="iisnode" path="node_modules/@septima/onedoor-server/index.cjs" verb="*" modules="iisnode" />
		</handlers>
		<rewrite>
			<rules>
				<rule name="onedoor-server">
					<match url="/*" />
					<action type="Rewrite" url="node_modules/@septima/onedoor-server/index.cjs" />
				</rule>
			</rules>
		</rewrite>
	</system.webServer>
</configuration>

Run Onedoor from prompt

Run onedoor with your the default config UNIX:

CONFIG_PATH=/mnt/data/apps/myonedoor/config node ./node_modules/@septima/onedoor-server/

WINDOWS:

>set CONFIG_PATH=C:\onedoor\sites\onedoor-test.minkommune.dk\config
>node ./node_modules/@septima/onedoor-server/

Optional settings

Edit the top level config file, config.json

  • servername - a descriptive name
  • port - the server port. Usually 3000+
  • publicEndpoint - The host name of your server
{
  "servername": "Esbjerg test",
  "port": 4000,
  "logLevel": "error",
  "frontpage": "tree",
  "uiDevMode": false
}