28 Commits

Author SHA1 Message Date
2ca0fc61ce Add reset volume feature to Joomla 2024-05-14 09:41:39 +02:00
69f00e830e Add option to install Joomla extensions via env value. 2024-05-10 20:21:41 +02:00
42c85ba582 Add bash logo, written by, linted by to README. 2024-03-20 16:33:22 +02:00
67d808b40a Fix typo on VDM_max_input_vars. 2024-03-08 13:30:59 +02:00
0b01021137 Add max_input_vars to the php settings 2024-03-08 13:26:52 +02:00
81af237052 remove underscore from container names. 2024-02-22 14:32:09 +02:00
fad4a7cf6e Removed the " from around the name and site name in autodeploy. 2024-02-19 19:53:03 +02:00
7aa661aea4 Set default Joomla to 5.0 2024-01-29 07:58:25 +02:00
f6d35ae9f7 Adds --remove-orphans flag to down command, incase the yaml file changed 2023-09-13 14:38:02 +02:00
4092c4beb5 adds cloudflare secure switch. 2023-08-25 10:58:59 +02:00
af87697943 Adds bulk deploy. Adds auto deploy options. 2023-08-24 19:56:02 +02:00
99d95c4d84 Adds option to migrate containers, and folders to remote hosts. 2023-05-05 18:59:10 +02:00
603804af74 Fix traefik acme.json creation error. 2023-03-14 15:45:09 +02:00
ea1ff59177 Adds installation options for Docker and Docker-Compose. Fix network warning issue. 2023-02-22 13:47:32 +02:00
5255b7bb25 Expert mode required to set user:group ID. 2022-01-27 16:45:36 +02:00
fedcfc7c4f Updates the showProgress notice commands. 2022-01-03 14:24:53 +02:00
76db2f477b Makes the docker network values changeable. 2021-12-31 12:31:54 +02:00
2918326c8c Adds set network to first run. 2021-12-31 12:11:11 +02:00
6a27e23f02 Adds the subnets to the networks setup for docker. 2021-12-31 12:04:00 +02:00
e55f4a31bc Adds setImageSource function for better image source selection options. Improves the persistence volumes implementation for Joomla containers. Improves the progress bar area to work more accurately. Adds expert option to tweak the PHP settings of a container. Adds option to customize the entrypoint.sh of your container. 2021-12-30 22:17:11 +02:00
9535c3b74d Adds Expert mode. Improves the menu flow. Adds none persistence volume option in expert mode. Improves the directory fix with progress bar. Adds easy fist run path. 2021-12-28 12:53:42 +02:00
a1f7c8fa39 Adds option to set container user ID when needed in both Joomla and Openssh containers. 2021-12-26 16:27:10 +02:00
e4a4714b0a Adds the option to select the octoleo images. 2021-12-24 09:54:59 +02:00
66d20ef68d added ubuntu only notice to readme 2021-07-21 21:34:01 +02:00
0dafdf00e1 changed the name to octojoom for better adoption 2021-07-21 21:21:21 +02:00
5c93b31286 fix a few domain setting errors 2021-07-21 12:04:01 +02:00
091c81000b adds option to edit host file 2021-07-20 02:11:31 +02:00
2fafde8483 adds multi domain option and improved the code. 2021-07-19 21:04:39 +02:00
3 changed files with 5559 additions and 3061 deletions

100
README.md
View File

@ -1,4 +1,9 @@
# Easy Docker Deployment (UBUNTU ONLY)
<h2><img align="middle" src="https://raw.githubusercontent.com/odb/official-bash-logo/master/assets/Logos/Icons/PNG/64x64.png" >
Octojoom - Easy Joomla! Docker Deployment
</h2>
Written by Llewellyn van der Merwe (@llewellynvdm)
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.
This program has **command input** options as seen in the menus below, but these command are _not the only way_ to set these values.
@ -8,40 +13,36 @@ There are more than one .env file and the script will set those up for you whene
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.
Linted by [#ShellCheck](https://github.com/koalaman/shellcheck)
> program only for ubuntu/debian systems at this time (should you like to use it on other OS's please open and issue...)
---
# Install
```shell
$ sudo curl -L "https://git.vdm.dev/api/v1/repos/octoleo/docker-deploy/raw/src/docker-deploy?access_token=xxxx" -o /usr/local/bin/docker-deploy
$ sudo chmod +x /usr/local/bin/docker-deploy
$ 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
```
### How to get the Access Token
Sign in to [https://git.vdm.dev/](https://git.vdm.dev/user/login) with your **GitHub** or **Gitlab** account.
Then open your [applications settings](https://git.vdm.dev/user/settings/applications) and create a new access token.
![image](https://user-images.githubusercontent.com/5607939/143513412-946843be-acd8-4973-be44-00902226f6ba.png)
The first time you use the program, it will ask for the access token again, so it can do updates in the future.
---
# Usage
> To see the usage help menu
```shell
$ docker-deploy -h
$ octojoom -h
```
### Help Menu (docker-deploy)
### Help Menu (octojoom)
```txt
Usage: docker-deploy [OPTION...]
Usage: octojoom [OPTION...]
Options
======================================================
--type <type>
set type you would like to work with
example: docker-deploy --type joomla
example: octojoom --type joomla
======================================================
--task <task>
set type of task you would like to perform
example: docker-deploy --task setup
example: octojoom --task setup
======================================================
--container <container.domain.name>
Directly enabling or disabling a container with
@ -49,75 +50,74 @@ Usage: docker-deploy [OPTION...]
The container must exist, which means it was
setup previously
Used without type and task Joomla-Enable is (default)
example: docker-deploy --container "io.vdm.dev"
example: octojoom --container "io.vdm.dev"
======================================================
--update
to update your install
example: docker-deploy --update
example: octojoom --update
======================================================
--access-token <token>
to update the program you will need an access token
from https://git.vdm.dev/user/settings/applications
example: docker-deploy --access-token xxxxxxxxxxx
example: octojoom --access-token xxxxxxxxxxx
======================================================
--uninstall
to uninstall this script
example: docker-deploy --uninstall
example: octojoom --uninstall
======================================================
AVAILABLE FOR TO ANY CONTAINER
======================================================
-k|--key <key>
set key for the docker compose container naming
!! no spaces allowed in the key !!
example: docker-deploy -k="vdm"
example: docker-deploy --key="vdm"
example: octojoom -k="vdm"
example: octojoom --key="vdm"
======================================================
-e|--env-key <key>
set key for the environment variable naming
!! no spaces allowed in the key & must be UPPERCASE !!
example: docker-deploy -e="VDM"
example: docker-deploy --env-key="VDM"
example: octojoom -e="VDM"
example: octojoom --env-key="VDM"
======================================================
-d|--domain <domain.com>
set key website domain
!! must be domain.tld !!
example: docker-deploy -d="vdm.dev"
example: docker-deploy --domain="vdm.dev"
======================================================
AVAILABLE FOR JOOMLA CONTAINER
======================================================
-j|--joomla-version <version>
set Joomla version number
!! only number allowed !!
example: docker-deploy -j=3.10
example: docker-deploy --joomla-version=3.10
example: octojoom -d="joomla.org"
example: octojoom --domain="joomla.org"
======================================================
-s|--sub-domain <domain.com>
set key website sub domain
!! no spaces allowed in the sub domain !!
example: docker-deploy -s="jcb"
example: docker-deploy --sub-domain="jcb"
example: octojoom -s="jcb"
example: octojoom --sub-domain="jcb"
======================================================
AVAILABLE FOR JOOMLA CONTAINER
======================================================
-j|--joomla-version <version-tag>
see available tags here https://hub.docker.com/_/joomla
example: octojoom -j=5.0
example: octojoom --joomla-version=5.0
======================================================
AVAILABLE FOR OPENSSH CONTAINER
======================================================
-u|--username <username>
set username of the container
example: docker-deploy -u="ubuntu"
example: docker-deploy --username="ubuntu"
example: octojoom -u="ubuntu"
example: octojoom --username="ubuntu"
======================================================
--uid <id>
set container user id
example: docker-deploy --uid=1000
example: octojoom --uid=1000
======================================================
--gid <id>
set container user group id
example: docker-deploy --gid=1000
example: octojoom --gid=1000
======================================================
-p|--port <port>
set ssh port to use
!! do not use 22 !!
example: docker-deploy -p=2239
example: docker-deploy --port=2239
example: octojoom -p=2239
example: octojoom --port=2239
======================================================
--ssh-dir <dir>
set ssh directory name found in the .ssh dir
@ -125,34 +125,34 @@ Usage: docker-deploy [OPTION...]
This directory has separate files for
each public key allowed to access
the container
example: docker-deploy --ssh-dir="teamname"
example: octojoom --ssh-dir="teamname"
======================================================
--sudo
switch to add the container user to the
sudo group of the container
example: docker-deploy --sudo
example: octojoom --sudo
======================================================
-t|--time-zone <time/zone>
set time zone of the container
!! must valid time zone !!
example: docker-deploy -t="Africa/Windhoek"
example: docker-deploy --time-zone="Africa/Windhoek"
example: octojoom -t="Africa/Windhoek"
example: octojoom --time-zone="Africa/Windhoek"
======================================================
HELP ʕ•ᴥ•ʔ
======================================================
-h|--help
display this help menu
example: docker-deploy -h
example: docker-deploy --help
example: octojoom -h
example: octojoom --help
======================================================
Docker Deploy v2.0
Octojoom
======================================================
```
---
# Uninstall
```shell
$ docker-deploy --uninstall
$ octojoom --uninstall
```
---
# Free Software License

File diff suppressed because it is too large Load Diff

5509
src/octojoom Executable file

File diff suppressed because it is too large Load Diff