Minimal Bare Metal Deployment
Introduction
This description allows you to have an Infinite Scale system up and running with only a few commands. It does not cover extended deployment tasks or how to manage trusted certificates etc. and is intended to get a first hands-on experience of the system.
For a small production environment using the binary installation approach, see the Bare Metal Deployment with systemd. The main differences between this setup and the small production environment using the binary installation is, in a nutshell, the use of systemd, LetsEncrypt and a reverse proxy.
This minimal bare metal deployment makes the following assumptions:
|
ownCloud highly recommends reading the General Information page first, as it contains valuable information about configuration rules, managing services and default paths - just to mention some of the useful topics. |
Prerequisites
See the Prerequisites section for more details.
Used Settings
The following settings were used in this guide. You can change this according to your needs:
-
The Infinite Scale binary location:
/usr/local/bin
(OS default) -
The Infinite Scale configuration directory:
$HOME/.ocis/config/
-
The Infinite Scale base data directory:
/var/lib/ocis
-
The URL for accessing Infinite Scale:
localhost
-
The port for accessing Infinite Scale:
9200
(default)
TL;DR
For those who want to skip reading the full document, use this summary of commands to download, start and access Infinite Scale without any additional information provided. For more details and explanations, we recommend taking the step by step process starting with the next section.
With this approach, the system you install Infinite Scale on must have a GUI present. A headless system has different requirements and needs an extended setup, see Accessing Infinite Scale Other Than Localhost. |
Define a stable binary to use as replacement for <file_url>
via download.owncloud.com, replace <file_name>
in the command accordingly.
sudo wget -P /usr/local/bin <file_url>
sudo chmod a+x /usr/local/bin/<file_name>
sudo ln -s /usr/local/bin/<file_name> /usr/local/bin/ocis
ocis init
ocis server
Open a browser and use as URL: https://localhost:9200
and the credentials printed by the ocis init
command to login.
Congratulations, you now have access to your Infinite Scale instance.
Installation
-
To get the stable binary from ownCloud, visit download.owncloud.com, select the version and the platform of choice and copy the link of the file. Check the sort order on the modification date to get the most recent releases on top. Depending on your system and preferences, you may want to save the binary in
/usr/local/bin
. Replace<file_url>
and<file_name>
in the commands accordingly.Download the binary:
sudo wget -P /usr/local/bin <file_url>
-
Make the binary executable with:
sudo chmod a+x /usr/local/bin/<file_name>
-
Create a link from the versioned ocis binary to the final executable named
ocis
:
Note when using a symbolic link like this, upgrading and/or testing is much easier.sudo ln -s /usr/local/bin/<file_name> /usr/local/bin/ocis
-
Check the version installed:
ocis version --skip-services
The output looks like this:
Version: 5.0.9 Compiled: 2024-10-24 00:00:00 +0000 UTC
Note that if you omit
--skip-services
, you will get additional information about services printed.
If you already have a running instance, you must stop and restart the instance to activate the new version. |
Starting Infinite Scale
Infinite Scale is started in two steps:
-
A first time start to initialize the system and
-
a recurring start after initialization.
Refer to the Default Users and Groups section if you want to have demo users created when initializing the system. This step can only be done during initialization.
First Time Initializing Infinite Scale
Infinite Scale needs a first time initialization to set up the environment. You will need to answer questions as the basis for generating a default ocis.yaml
file. You can edit this file later. The default location for config files is, if not otherwise defined, $HOME/.ocis/config/
. For details see the Configuration Directory documentation. Type the following command to initialize Infinite Scale.
ocis init
On success, you will see a message like:
Do you want to configure Infinite Scale with certificate checking disabled?
This is not recommended for public instances! [yes | no = default]
=========================================
generated OCIS Config
=========================================
configpath : <your-user>/.ocis/config/ocis.yaml
user : admin
password : <removed for documentation>
If you get an error message like the following:
you already have created a configuration once. As you cannot overwrite the existing configuration, you must delete the old configuration first to proceed. For more details, see: Initialize Infinite Scale. |
Starting the Infinite Scale Runtime
After initializing Infinite Scale for the first time, you can start the Infinite Scale runtime which includes embedded services.
- Starting Infinite Scale
-
The example commands shown below have no environment variables or command line options for ease of reading, add them according to your requirements.
To start the Infinite Scale runtime type:
ocis server
Note that this will bind
ocis
to the shell you are running. If you want to detach it and avoid it being stopped when closing the shell or the shell gets disconnected (SIGHUP), use the following command:Bashocis server & disown -h
ZSHocis server & disown %%
See the respective shell documentation for how to manage processes respectively detach and re-attach sessions.
Configuring Infinite Scale
Infinite Scale can be configured via environment variables, see the following sections for more information and details:
You cannot instantiate runtime services though you can define which services should start or be excluded from starting. See Managing Services for more details. |
Accessing Infinite Scale
When you have configured and started the Infinite Scale runtime as described in the example command above, you can access it via a browser using https://localhost:9200
. Use the credentials printed from the ocis init
command.
Accessing Infinite Scale Other Than Localhost
If you want to reuse an already configured minimized setup for any other address than
|
List Running Infinite Scale Processes
To list all running ocis processes type:
ps ax | grep ocis | grep -v grep
221297 pts/1 Sl 0:04 ocis server
221706 pts/0 Sl 0:00 ocis notifications
Stopping Infinite Scale
To properly stop Infinite Scale, the signal SIGTERM
(15) is used. Note that SIGTERM politely asks a process to terminate. It will terminate gracefully, cleaning up all resources (files, sockets, child processes, etc.), deleting temporary files and so on. Do not use SIGKILL
(9) as this will initiate a dirty shutdown.
The following command stops the runtime with all its services plus any extra started services which are not part of the runtime and have been started manually. Depending on the user you started ocis
with and which user you are currently logged in as, you may need to use sudo
for the killall command for proper permissions.
killall -v -s 15 ocis