use service profiles
This commit is contained in:
parent
1a3a900efa
commit
dec11477a3
9 changed files with 16 additions and 79 deletions
|
@ -12,6 +12,11 @@ docker-compose ()
|
|||
}
|
||||
```
|
||||
|
||||
Compose files refer to [service profiles](https://docs.docker.com/compose/profiles/):
|
||||
- disabled: set for services I don't use
|
||||
- testing: enable SSL configuration relying on https://traefik.me for local testing
|
||||
- production: enable domain configuration on deployment server
|
||||
|
||||
### Network diagram:
|
||||
|
||||

|
||||
|
|
|
@ -3,6 +3,7 @@ services:
|
|||
netdata:
|
||||
image: netdata/netdata
|
||||
container_name: netdata
|
||||
profiles: ["disabled"]
|
||||
hostname: ${HOST_NETDATA}.${DOMAIN}
|
||||
expose:
|
||||
- 19999
|
||||
|
@ -38,6 +39,7 @@ services:
|
|||
docker-proxy:
|
||||
image: tecnativa/docker-socket-proxy
|
||||
container_name: docker-proxy
|
||||
profiles: ["disabled"]
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
environment:
|
||||
|
|
|
@ -3,7 +3,8 @@ version: '3'
|
|||
services:
|
||||
postgres:
|
||||
container_name: photonix-postgres
|
||||
image: postgres:11.1-alpine
|
||||
image: postgres:11.1-alpine
|
||||
profiles: ["disabled"]
|
||||
environment:
|
||||
POSTGRES_DB: photonix
|
||||
POSTGRES_PASSWORD: password
|
||||
|
@ -21,6 +22,7 @@ services:
|
|||
photonix:
|
||||
container_name: photonix
|
||||
image: photonixapp/photonix:latest
|
||||
profiles: ["disabled"]
|
||||
expose:
|
||||
- 80
|
||||
environment:
|
||||
|
|
|
@ -4,6 +4,7 @@ services:
|
|||
photoview-db:
|
||||
container_name: photoview-db
|
||||
image: mariadb:10.5
|
||||
profiles: ["disabled"]
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MYSQL_DATABASE=photoview
|
||||
|
@ -18,6 +19,7 @@ services:
|
|||
photoview:
|
||||
container_name: photoview
|
||||
image: viktorstrate/photoview:2
|
||||
profiles: ["disabled"]
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- 80
|
||||
|
|
|
@ -4,6 +4,7 @@ services:
|
|||
poste-io:
|
||||
container_name: poste-io
|
||||
image: analogic/poste.io
|
||||
profiles: ["disabled"]
|
||||
volumes:
|
||||
- ${ROOT_INSTALL}/data/poste.io:/data
|
||||
environment:
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
export DOCKER_COMPOSE_BIN='/usr/local/bin/docker-compose'
|
||||
docker-compose ()
|
||||
{
|
||||
$DOCKER_COMPOSE_BIN $(find -name 'docker-compose*.yml' -type f -perm -u+x -printf '%p\t%d\n' 2>/dev/null | sort -n -k2 | cut -f 1 | awk '{print "-f "$0}') $@
|
||||
}
|
||||
|
||||
# ===========================================================================
|
||||
# Configure
|
||||
|
||||
if [[ $# -eq 0 ]] ; then
|
||||
echo 'Nothing to do'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
"on")
|
||||
# disable unused services
|
||||
chmod -x baikal/docker-compose.baikal.yml
|
||||
chmod -x posteio/docker-compose.posteio.yml
|
||||
chmod -x netdata/docker-compose.netdata.yml
|
||||
chmod -x photo/docker-compose.photonix.yml
|
||||
chmod -x photo/docker-compose.photoview.yml
|
||||
# local testing
|
||||
chmod -x traefik/docker-compose.traefik.yml
|
||||
exit 0;;
|
||||
"off")
|
||||
# restore state
|
||||
chmod +x baikal/docker-compose.baikal.yml
|
||||
chmod +x posteio/docker-compose.posteio.yml
|
||||
chmod +x netdata/docker-compose.netdata.yml
|
||||
chmod +x photo/docker-compose.photonix.yml
|
||||
chmod +x photo/docker-compose.photoview.yml
|
||||
chmod +x traefik/docker-compose.traefik.yml
|
||||
exit 0;;
|
||||
*)
|
||||
echo "Unknown command: on/off are valid values"
|
||||
exit 1;;
|
||||
esac
|
||||
|
||||
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ $# -eq 0 ]] ; then
|
||||
echo 'Nothing to do'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
"on")
|
||||
# disable unused services
|
||||
chmod -x baikal/docker-compose.baikal.yml
|
||||
chmod -x posteio/docker-compose.posteio.yml
|
||||
chmod -x netdata/docker-compose.netdata.yml
|
||||
chmod -x photo/docker-compose.photonix.yml
|
||||
chmod -x photo/docker-compose.photoview.yml
|
||||
# live server
|
||||
chmod -x traefik/docker-compose.traefik-local.yml
|
||||
exit 0;;
|
||||
"off")
|
||||
# restore state
|
||||
chmod +x baikal/docker-compose.baikal.yml
|
||||
chmod +x posteio/docker-compose.posteio.yml
|
||||
chmod +x netdata/docker-compose.netdata.yml
|
||||
chmod +x photo/docker-compose.photonix.yml
|
||||
chmod +x photo/docker-compose.photoview.yml
|
||||
chmod +x traefik/docker-compose.traefik-local.yml
|
||||
exit 0;;
|
||||
*)
|
||||
echo "Unknown command: on/off are valid values"
|
||||
exit 1;;
|
||||
esac
|
||||
|
||||
|
||||
|
|
@ -3,7 +3,8 @@ version: '3'
|
|||
services:
|
||||
traefik:
|
||||
container_name: traefik-local
|
||||
image: traefik:v2.5.3
|
||||
image: traefik:v2.5.3
|
||||
profiles: ["testing"]
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
|
|
|
@ -4,6 +4,7 @@ services:
|
|||
traefik:
|
||||
container_name: traefik
|
||||
image: traefik:v2.5.3
|
||||
profiles: ["production"]
|
||||
command:
|
||||
- --providers.docker=true
|
||||
- --providers.docker.exposedbydefault=false
|
||||
|
|
Loading…
Add table
Reference in a new issue