mirror of
https://gitea.zaclys.com/yannic/selfhosting.git
synced 2026-04-25 17:00:40 +02:00
use service profiles
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ 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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -4,6 +4,7 @@ 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
|
||||||
|
|||||||
Reference in New Issue
Block a user