2021-07-21 19:21:21 +00:00
# Octojoom - Easy Docker Deployment
2021-06-30 08:00:23 +00:00
With this script we can easily deploy docker containers of Joomla and Openssh. This combination of these tools give rise to a powerful and very secure shared development environment.
2021-07-02 00:22:22 +00:00
This program has **command input** options as seen in the menus below, but these command are _not the only way_ to set these values.
When the values are **omitted** you will be _asked in the terminal_ to manually enter the required values as needed.
Furthermore, the use of **env variables** are also heavily used across the script.
There are more than one .env file and the script will set those up for you whenever you run a task that make use of env variables
the script will check if those values exist, and if they don't it will ask for them, and store them automatically for future use.
That same time the output message to the terminal will show you where the specific .env file can be found.
2021-06-30 08:00:23 +00:00
2021-07-21 19:34:01 +00:00
> program only for ubuntu/debian systems at this time (should you like to use it on other OS's please open and issue...)
2021-06-30 08:00:23 +00:00
---
# Install
```shell
2021-07-21 19:21:21 +00:00
$ sudo curl -L "https://git.vdm.dev/api/v1/repos/octoleo/octojoom/raw/src/octojoom" -o /usr/local/bin/octojoom
$ sudo chmod +x /usr/local/bin/octojoom
2021-06-30 08:00:23 +00:00
```
---
# Usage
> To see the usage help menu
```shell
2021-07-21 19:21:21 +00:00
$ octojoom -h
2021-06-30 08:00:23 +00:00
```
2021-07-21 19:21:21 +00:00
### Help Menu (octojoom)
2021-06-30 08:00:23 +00:00
```txt
2021-07-21 19:21:21 +00:00
Usage: octojoom [OPTION...]
2021-06-30 08:00:23 +00:00
Options
======================================================
--type < type >
set type you would like to work with
2021-07-21 19:21:21 +00:00
example: octojoom --type joomla
2021-06-30 08:00:23 +00:00
======================================================
--task < task >
set type of task you would like to perform
2021-07-21 19:21:21 +00:00
example: octojoom --task setup
2021-06-30 08:00:23 +00:00
======================================================
2021-07-02 00:22:22 +00:00
--container < container.domain.name >
Directly enabling or disabling a container with
the type=joomla and task=enable/disable set
The container must exist, which means it was
setup previously
Used without type and task Joomla-Enable is (default)
2021-07-21 19:21:21 +00:00
example: octojoom --container "io.vdm.dev"
2021-07-02 00:22:22 +00:00
======================================================
2021-06-30 08:00:23 +00:00
--update
to update your install
2021-07-21 19:21:21 +00:00
example: octojoom --update
2021-06-30 08:00:23 +00:00
======================================================
2021-07-02 00:22:22 +00:00
--access-token < token >
to update the program you will need an access token
from https://git.vdm.dev/user/settings/applications
2021-07-21 19:21:21 +00:00
example: octojoom --access-token xxxxxxxxxxx
2021-07-02 00:22:22 +00:00
======================================================
2021-06-30 08:00:23 +00:00
--uninstall
to uninstall this script
2021-07-21 19:21:21 +00:00
example: octojoom --uninstall
2021-06-30 08:00:23 +00:00
======================================================
AVAILABLE FOR TO ANY CONTAINER
======================================================
-k|--key < key >
set key for the docker compose container naming
!! no spaces allowed in the key !!
2021-07-21 19:21:21 +00:00
example: octojoom -k="vdm"
example: octojoom --key="vdm"
2021-06-30 08:00:23 +00:00
======================================================
-e|--env-key < key >
set key for the environment variable naming
!! no spaces allowed in the key & must be UPPERCASE !!
2021-07-21 19:21:21 +00:00
example: octojoom -e="VDM"
example: octojoom --env-key="VDM"
2021-06-30 08:00:23 +00:00
======================================================
-d|--domain < domain.com >
set key website domain
!! must be domain.tld !!
2021-07-21 19:21:21 +00:00
example: octojoom -d="joomla.org"
example: octojoom --domain="joomla.org"
2021-06-30 08:00:23 +00:00
======================================================
-s|--sub-domain < domain.com >
set key website sub domain
!! no spaces allowed in the sub domain !!
2021-07-21 19:21:21 +00:00
example: octojoom -s="jcb"
example: octojoom --sub-domain="jcb"
2021-06-30 08:00:23 +00:00
======================================================
2021-07-19 19:04:39 +00:00
AVAILABLE FOR JOOMLA CONTAINER
======================================================
-j|--joomla-version < version-tag >
see available tags here https://hub.docker.com/_/joomla
2021-07-21 19:21:21 +00:00
example: octojoom -j=3.10
example: octojoom --joomla-version=3.10
2021-07-19 19:04:39 +00:00
======================================================
2021-06-30 08:00:23 +00:00
AVAILABLE FOR OPENSSH CONTAINER
======================================================
-u|--username < username >
set username of the container
2021-07-21 19:21:21 +00:00
example: octojoom -u="ubuntu"
example: octojoom --username="ubuntu"
2021-06-30 08:00:23 +00:00
======================================================
--uid < id >
set container user id
2021-07-21 19:21:21 +00:00
example: octojoom --uid=1000
2021-06-30 08:00:23 +00:00
======================================================
--gid < id >
set container user group id
2021-07-21 19:21:21 +00:00
example: octojoom --gid=1000
2021-06-30 08:00:23 +00:00
======================================================
-p|--port < port >
set ssh port to use
!! do not use 22 !!
2021-07-21 19:21:21 +00:00
example: octojoom -p=2239
example: octojoom --port=2239
2021-06-30 08:00:23 +00:00
======================================================
--ssh-dir < dir >
set ssh directory name found in the .ssh dir
of this repo for the container keys
This directory has separate files for
each public key allowed to access
the container
2021-07-21 19:21:21 +00:00
example: octojoom --ssh-dir="teamname"
2021-06-30 08:00:23 +00:00
======================================================
--sudo
switch to add the container user to the
sudo group of the container
2021-07-21 19:21:21 +00:00
example: octojoom --sudo
2021-06-30 08:00:23 +00:00
======================================================
-t|--time-zone < time / zone >
set time zone of the container
!! must valid time zone !!
2021-07-21 19:21:21 +00:00
example: octojoom -t="Africa/Windhoek"
example: octojoom --time-zone="Africa/Windhoek"
2021-06-30 08:00:23 +00:00
======================================================
HELP ʕ•ᴥ•ʔ
======================================================
-h|--help
display this help menu
2021-07-21 19:21:21 +00:00
example: octojoom -h
example: octojoom --help
2021-06-30 08:00:23 +00:00
======================================================
2021-07-21 19:21:21 +00:00
Octojoom
2021-06-30 08:00:23 +00:00
======================================================
```
---
# Uninstall
```shell
2021-07-21 19:21:21 +00:00
$ octojoom --uninstall
2021-06-30 08:00:23 +00:00
```
---
# Free Software License
```txt
@copyright Copyright (C) 2021 Llewellyn van der Merwe. All rights reserved.
2021-07-08 16:59:09 +00:00
@license GNU General Public License version 2; see LICENSE
2021-06-30 08:00:23 +00:00
```