$ docker-compose -f docker-compose.yml -f docker-compose-elk.yml -f docker-compose-influx.yml up -d --build
The project aims to package a set of existing software to make webapp deployments fast, easy and secure.
VIRTUAL_HOST
environment varialbleLETSENCRYPT_HOST
and LETSENCRYPT_EMAIL
environment variables are present.Logging is done in two ways, using the ELK (elasticsearch) stack and using TICK (influxdata) stack.
The two stacks measure different data. The first gives access to logs from all the containers while the second shows the impact each container has on the server resources.
The ELK stack includes:
Two more containers were added:
logspout
: Automatically catches logs from containers and pushes them to Logstash
elk_starter
: Configures elasticsearch for kibana and logstash and sets an index.Kibana (with x-pack enabled) offers authentication. It is set by default to: u: elastic p: changeme u: kibana p: changeme
These users can be changed later from Kibana
The TICK stack includes the following containers:
It is configured to handle inputs both from the host system and from the docker socket to monitor all the containers.
Chronograf can be configured to use github authentication
You can use the full solution or combine parts of it.
docker-compose up -d --build
docker-compose -f docker-compose.yml -f docker-compose-elk.yml up -d --build
docker-compose -f docker-compose.yml -f docker-compose-influx.yml up -d --build
Use the following to install Portainer and Watchtower to manage your single node cluster.
Update .env.node.management to configure these services
Then run the services with docker-compose
docker-compose -f docker-compose-node-management.yml up -d --build
docker-compose -f docker-compose.yml -f docker-compose-elk.yml -f docker-compose-influx.yml up -d --build
If you want to use TICK or ELK, you must start from the
proxy
yml, because they both use networks defined in docker-compose.yml. docker-compose-elk.yml and docker-compose-influx.yml extend docker-compose.yml
InfluxData (TICK) stalk: 1.3-alpine
ElasticSearch (ELK) stalk: 6.2.0 (x-pack enabled)
Dockergen: jwilder/dockergen:latest
Letsencrypt:
Nginx: 1.13
All the containers (where possible) are based on Alpine