Innoslate Docker Image Information
Getting Started
Innoslate's Docker Hub page serves as the central hub for the Innoslate Docker image, where you can find information about its features, usage instructions, and the latest updates. Additionally, the repository includes the below relevant documentation that can enhance your understanding of the product. It is important to note that, at this time, we do not provide a Kubernetes Manifest File, which means users looking to deploy Innoslate via Kubernetes will need to utilize alternative methods for orchestration and management. For the most accurate and up-to-date information, we recommend regularly checking the repository.
Innoslate Docker can be exclusively accessed at the following URL: https://hub.docker.com/r/innoslate/innoslate.
Dependencies
- An external database server running Microsoft SQL Server 2012+ or a PostgreSQL Server 9.6+.
- If using an exotic authentication method other than the built in Native authentication such as LDAP, OAuth, etc., ensure authentication servers are prepared for integration into Innoslate.
Installation
To install, simply pull the latest image of Innoslate from Docker Hub using:
docker pull innoslate/innoslate:latest
Basic Execution
After creating the image, Innoslate can be ran by using the following process:
1. Run this command to start an interactive session of the image
docker run -p 127.0.0.1:80:8080/tcp -it innoslate/innoslate
2. Once the image is up and running, enter the following command in the image's terminal:
innoslate run
This will launch Innoslate on the provided port.
You may also use the following which will launch the Innoslate process in a new window:
innoslate start
3. Type the port into your browser and following the on screen prompts to perform the initial setup of Innoslate. If you are using Docker Desktop, you can also click the "Open in Browser" button from the Containers/Apps tab.
Useful Scripts
A number of useful scripts are provided to assist in managing Innoslate. For a list of available scripts and a description of what they do, enter the following command:
docker run innoslate/innoslate innoslate -h
Advanced Usage
As you may know, the data in a docker image is lost once it stops running. Therefore, it can be useful to mount a local volume to the docker image to provide an avenue for backing configuration files up. To do this, use the following command to run the Innoslate image:
docker run -p 127.0.0.1:80:8080/tcp -v <path_to_local_directory>:/usr/local/innoslate/backups -it registry1.dso.mil/spec/innoslate
This provides a two-way binding between the two directories, which is especially useful for backing up your Innoslate settings.properties file. To do this, use the following script we have provided after running the above command and walking through the initial Innoslate setup process:
innoslate configure backup
Now, when you restart the docker image, you can import the saved settings file by using the following script after running the image, provided that the backup file is in the directory you specified:
innoslate configure restore <name_of_backup_file>
Note, to see a list of files available to be restored, use the command:
innsolate configure list
Once you have your database setup for Innoslate and a settings file backed up locally, you can run the docker image, import the settings file, and run Innoslate all in one command as in the following:
docker run -p 127.0.0.1:80:8080/tcp -v <path_to_local_directory>:/usr/local/innoslate/backups -c "innoslate configure restore your_settings_file.properties; innoslate run"
You may also find it helpful to have a persistent volume to backup the /usr/local/innoslate/filestore directory.
This is where Innoslate stores files it generates during normal use, such as images of diagrams and images you upload to entity and project descriptions. This can be done similarly to the above steps.
Instead of mounting the volumes when running the image as described above, you can also create a permanent volume using docker and docker compose. Refer to docker's documentation to learn more.
Footnotes
- To enable full functionality and compatibility with Innoslate features, Microsoft SQL Servers must be configured to enable Full-Text Search.
- The exposed port 8080 can be bound to any other port besides the recommended 127.0.0.1:80 if it is already occupied.
- Innoslate Enterprise tends to use the server or virtual machine exclusively. Besides the default operating system user, there should be only authorized local users required by the installed software groups and applications that exist on the operating system.
The authorized user list can be customized in the refine value variable var_accounts_authorized_local_users_regex. OVAL regular expression is used for the user list. Configure the system so all accounts on the system are assigned to an active system, application, or user account. Remove accounts that do not support approved system activities or that allow for a normal user to perform administrative-level actions. To remove unauthorized system accounts, use the following command:
$ sudo userdel unauthorized_user
Docker Pull Command
docker pull innoslate/innoslate