docker-portainer/install-shlink-on-portainer/docker-compose-shlink.yml

64 lines
1.6 KiB
YAML

version: "3.9"
services:
shlink-db:
image: postgres
container_name: Shlink-DB
hostname: shlink-db
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "shlink", "-U", "shlinkuser"]
interval: 10s
timeout: 5s
retries: 5
user: 1026:100
volumes:
- /volume1/docker/shlinkdb:/var/lib/postgresql/data
environment:
POSTGRES_DB: shlink
POSTGRES_USER: shlinkuser
POSTGRES_PASSWORD: shlinkpw
restart: always
shlink:
image: shlinkio/shlink:stable
container_name: Shlink
hostname: shlink
security_opt:
- no-new-privileges:true
ports:
- 8335:8080
environment:
- TIMEZONE=Europe/Berlin
- INITIAL_API_KEY=59f4baa0-b67b-444d-8a06-f455b37ec180
- DB_DRIVER=postgres
- DB_NAME=shlink
- DB_USER=shlinkuser
- DB_PASSWORD=shlinkpw
- DB_HOST=shlink-db
- DB_PORT=5432
- DEFAULT_DOMAIN=url
- IS_HTTPS_ENABLED=true
- GEOLITE_LICENSE_KEY=Key
restart: always
depends_on:
shlink-db:
condition: service_started
shlink-web:
image: shlinkio/shlink-web-client:stable
container_name: Shlink-WEB
hostname: shlink-web
security_opt:
- no-new-privileges:true
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1
ports:
- 8336:80
environment:
- SHLINK_SERVER_NAME=M_Viper
- SHLINK_SERVER_URL=url
- SHLINK_SERVER_API_KEY=59f4baa0-b67b-444d-8a06-f455b37ec180
restart: always
depends_on:
- shlink