This repository contains modular Docker Swarm stack files and documentation for deploying the WaterWatcher application. The purpose of this repository is to make deployment easy on myself. The referenced GHCR containers are private.
This is a single-node Docker Swarm application and does not currently support horizontal scaling across worker nodes.
- Install the official Docker Engine packages for your platform.
- Connect Docker to the the GitHub Container Repository:
echo "YOUR_GITHUB_TOKEN" | docker login ghcr.io -u simonfcollins --password-stdin- Initialize the swarm:
sudo docker swarm init- Run the network creation script to create the internal and outbound Docker networks.
- Run the volume creation script to create the pgdata and hrrr-data persistent volumes.
- Follow the Docker secrets setup instructions.
- Navigate to the project root directory.
- Run the following command:
chmod +x ./lifecycle/deploy.sh- Run the deploy script:
./lifecycle/deploy.sh- Navigate to the project root directory.
- Run the following command:
chmod +x ./lifecycle/teardown.sh- Run the teardown script:
./lifecycle/teardown.sh