Chad f45cc326fc
Fixes and Enhancements (#16)
* Add more instructions after successfully creating a new subdomain.

* Update the container name.

* Add a just-in-case step.

* Add an alias and improve comments.

* Fix manage path.

* Add limits but no reservations for PP. Start off somewhat relaxed rather than strict.

* Always restart PP containers.

* Move URL to env file. Do not recommend using HTTPS in the value.

* Format comments.

* Put commands in shells so they cannot exit the full program.

* Updating apps like this did not seem to be working, but also do not want it to work anymore.
2023-10-17 04:35:57 -07:00
2023-10-17 04:35:57 -07:00
2022-08-06 07:52:11 -05:00
2023-10-17 04:35:57 -07:00

My Docker Setup

Scripting my way into the Docker world. I was unable to find a good tutorial on using and managing containers so this is what made sense to me based on practice with docker-compose. I am still new-ish to Docker and am likely to make mistakes, but you're welcome to learn with me. ;)

Disclaimer

Currently the project only focuses on apt based operating systems.

Other README's

Each ./Config/PROJECT/ folder also contains its own README file with specific information to running that sub project. This file's job is to cover the general Docker installation. The others then contain details on their program setup.

How To Use

Most of these commands benefit from being root. Something like a sudo su - if you feel comfortable with it. Otherwise be aware that using sudo may cause file permission conflicts when interacting with the configuration files and folders.

Install the project dependencies.

apt install git bash

Clone the project. You may choose anywhere, but /opt/Docker is recommended.

git clone https://github.com/hyperling/docker /opt/Docker

Load the environment variables.

source /opt/Docker/source.env

Install docker to the system using the official repos.

install.sh

Create an area to add a new product.

create.sh PROJECT_NAME

Edit the project's details.

vi /opt/Docker/Config/PROJECT_NAME/docker-compose.yml

Start all of the docker projects.

start.sh

Cross your fingers and hope to profit!

Folders

Config

Compose projects are set up here. Each folder should have a docker-compose.yml file set up.

Volumes

The data of the files go here if the Config is done correctly. I think this should be easier to remember than /var/lib/docker/volumes when it comes time for migrations. Hopefully all that'd be needed is to rsync /opt/Docker and run install.sh and then start.sh on the new server. You are welcome to use a directory other than /opt/Docker, this project is location agnostic.

bin

Scripts to help make life easier. Some are pretty basic, but others do nice things like handle the container IDs.

  • install.sh : Install dependencies on a new server with apt.
  • create.sh : Create a new folder with the needed yml file.
  • start.sh : Start all compose containers.
  • stop.sh : Stop all compose containers.
  • get_logs.sh : Create log files rather than using the docker log command or searching in /var/whatever.
  • uninstall.sh : If something goes wrong and you'd like to start from scratch without provisioning a new server then this should do the job.
Description
docker-compose setup with an abundance of scripts. Setups for Nextcloud, OnlyOffice, a reverse proxy, DNS server, dynamic DNS maintainer, etc.
Readme
Languages
Shell 68.4%
DIGITAL Command Language 24.9%
Dockerfile 6.1%
HTML 0.6%