Compare commits

...

25 Commits

Author SHA1 Message Date
Llewellyn van der Merwe 2ca0fc61ce
Add reset volume feature to Joomla 2024-05-14 09:41:39 +02:00
Llewellyn van der Merwe 69f00e830e
Add option to install Joomla extensions via env value. 2024-05-10 20:21:41 +02:00
Llewellyn van der Merwe 42c85ba582
Add bash logo, written by, linted by to README. 2024-03-20 16:33:22 +02:00
Llewellyn van der Merwe 67d808b40a
Fix typo on VDM_max_input_vars. 2024-03-08 13:30:59 +02:00
Llewellyn van der Merwe 0b01021137
Add max_input_vars to the php settings 2024-03-08 13:26:52 +02:00
Llewellyn van der Merwe 81af237052
remove underscore from container names. 2024-02-22 14:32:09 +02:00
Llewellyn van der Merwe fad4a7cf6e
Removed the " from around the name and site name in autodeploy. 2024-02-19 19:53:03 +02:00
Llewellyn van der Merwe 7aa661aea4
Set default Joomla to 5.0 2024-01-29 07:58:25 +02:00
Llewellyn van der Merwe f6d35ae9f7
Adds --remove-orphans flag to down command, incase the yaml file changed 2023-09-13 14:38:02 +02:00
Llewellyn van der Merwe 4092c4beb5
adds cloudflare secure switch. 2023-08-25 10:58:59 +02:00
Llewellyn van der Merwe af87697943
Adds bulk deploy. Adds auto deploy options. 2023-08-24 19:56:02 +02:00
Llewellyn van der Merwe 99d95c4d84
Adds option to migrate containers, and folders to remote hosts. 2023-05-05 18:59:10 +02:00
Llewellyn van der Merwe 603804af74
Fix traefik acme.json creation error. 2023-03-14 15:45:09 +02:00
Llewellyn van der Merwe ea1ff59177
Adds installation options for Docker and Docker-Compose. Fix network warning issue. 2023-02-22 13:47:32 +02:00
Llewellyn van der Merwe 5255b7bb25
Expert mode required to set user:group ID. 2022-01-27 16:45:36 +02:00
Llewellyn van der Merwe fedcfc7c4f
Updates the showProgress notice commands. 2022-01-03 14:24:53 +02:00
Llewellyn van der Merwe 76db2f477b
Makes the docker network values changeable. 2021-12-31 12:31:54 +02:00
Llewellyn van der Merwe 2918326c8c
Adds set network to first run. 2021-12-31 12:11:11 +02:00
Llewellyn van der Merwe 6a27e23f02
Adds the subnets to the networks setup for docker. 2021-12-31 12:04:00 +02:00
Llewellyn van der Merwe 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
Llewellyn van der Merwe 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
Llewellyn van der Merwe a1f7c8fa39
Adds option to set container user ID when needed in both Joomla and Openssh containers. 2021-12-26 16:27:10 +02:00
Llewellyn van der Merwe e4a4714b0a
Adds the option to select the octoleo images. 2021-12-24 09:54:59 +02:00
Llewellyn van der Merwe 66d20ef68d
added ubuntu only notice to readme 2021-07-21 21:34:01 +02:00
Llewellyn van der Merwe 0dafdf00e1
changed the name to octojoom for better adoption 2021-07-21 21:21:21 +02:00
2 changed files with 2606 additions and 452 deletions

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,74 +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="joomla.org"
example: docker-deploy --domain="joomla.org"
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: docker-deploy -j=3.10
example: docker-deploy --joomla-version=3.10
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
@ -124,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 Deployment v2.1.0
Octojoom
======================================================
```
---
# Uninstall
```shell
$ docker-deploy --uninstall
$ octojoom --uninstall
```
---
# Free Software License

File diff suppressed because it is too large Load Diff