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:
|
### Network diagram:
|
||||||
|
|
||||||

|

|
||||||
|
|
|
@ -3,6 +3,7 @@ services:
|
||||||
netdata:
|
netdata:
|
||||||
image: netdata/netdata
|
image: netdata/netdata
|
||||||
container_name: netdata
|
container_name: netdata
|
||||||
|
profiles: ["disabled"]
|
||||||
hostname: ${HOST_NETDATA}.${DOMAIN}
|
hostname: ${HOST_NETDATA}.${DOMAIN}
|
||||||
expose:
|
expose:
|
||||||
- 19999
|
- 19999
|
||||||
|
@ -38,6 +39,7 @@ services:
|
||||||
docker-proxy:
|
docker-proxy:
|
||||||
image: tecnativa/docker-socket-proxy
|
image: tecnativa/docker-socket-proxy
|
||||||
container_name: docker-proxy
|
container_name: docker-proxy
|
||||||
|
profiles: ["disabled"]
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -3,7 +3,8 @@ version: '3'
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
container_name: photonix-postgres
|
container_name: photonix-postgres
|
||||||
image: postgres:11.1-alpine
|
image: postgres:11.1-alpine
|
||||||
|
profiles: ["disabled"]
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_DB: photonix
|
POSTGRES_DB: photonix
|
||||||
POSTGRES_PASSWORD: password
|
POSTGRES_PASSWORD: password
|
||||||
|
@ -21,6 +22,7 @@ services:
|
||||||
photonix:
|
photonix:
|
||||||
container_name: photonix
|
container_name: photonix
|
||||||
image: photonixapp/photonix:latest
|
image: photonixapp/photonix:latest
|
||||||
|
profiles: ["disabled"]
|
||||||
expose:
|
expose:
|
||||||
- 80
|
- 80
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -4,6 +4,7 @@ services:
|
||||||
photoview-db:
|
photoview-db:
|
||||||
container_name: photoview-db
|
container_name: photoview-db
|
||||||
image: mariadb:10.5
|
image: mariadb:10.5
|
||||||
|
profiles: ["disabled"]
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_DATABASE=photoview
|
- MYSQL_DATABASE=photoview
|
||||||
|
@ -18,6 +19,7 @@ services:
|
||||||
photoview:
|
photoview:
|
||||||
container_name: photoview
|
container_name: photoview
|
||||||
image: viktorstrate/photoview:2
|
image: viktorstrate/photoview:2
|
||||||
|
profiles: ["disabled"]
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
expose:
|
expose:
|
||||||
- 80
|
- 80
|
||||||
|
|
|
@ -4,6 +4,7 @@ services:
|
||||||
poste-io:
|
poste-io:
|
||||||
container_name: poste-io
|
container_name: poste-io
|
||||||
image: analogic/poste.io
|
image: analogic/poste.io
|
||||||
|
profiles: ["disabled"]
|
||||||
volumes:
|
volumes:
|
||||||
- ${ROOT_INSTALL}/data/poste.io:/data
|
- ${ROOT_INSTALL}/data/poste.io:/data
|
||||||
environment:
|
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:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
container_name: traefik-local
|
container_name: traefik-local
|
||||||
image: traefik:v2.5.3
|
image: traefik:v2.5.3
|
||||||
|
profiles: ["testing"]
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
- 443:443
|
- 443:443
|
||||||
|
|
|
@ -4,6 +4,7 @@ services:
|
||||||
traefik:
|
traefik:
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
image: traefik:v2.5.3
|
image: traefik:v2.5.3
|
||||||
|
profiles: ["production"]
|
||||||
command:
|
command:
|
||||||
- --providers.docker=true
|
- --providers.docker=true
|
||||||
- --providers.docker.exposedbydefault=false
|
- --providers.docker.exposedbydefault=false
|
||||||
|
|
Loading…
Add table
Reference in a new issue