docker-compose files
hier findet ihr die im Stream verwendeten docker-compose.yml Dateien
portainer
auf dem Host System muss vor dem ausrollen des Portainer Containers noch ein eigenes Netzwerk sowie ein Volume angelegt werden.
Hierfür müssen folgende Befehle ausgeführt werden:
docker network create proxy
docker volume create portainer
ich lege mir im Homeverzeichnis auf meinem Docker Host immer noch einen eigenen Ordner für die docker-compose Datei an
mkdir portainer && cd portainer && nano docker-compose.yml
hier wird jetzt folgendes eingefügt
version: '3.8'
services:
portainer:
container_name: portainer
hostname: portainer
image: portainer/portainer-ce
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
ports:
- "8000:8000"
- "9443:9443"
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- portainer:/data
environment:
- TZ=Europe/Berlin
volumes:
portainer:
external: true
networks:
proxy:
external: true
nun kann der Container gestartet werden
docker compose up -d
nginx proxy manager
version: '3.8'
services:
nginx-proxy-manager:
container_name: nginx-reverse-proxy
hostname: nginx
image: jc21/nginx-proxy-manager:latest
restart: unless-stopped
networks:
- proxy
ports:
- "80:80"
- "81:81"
- "443:443"
volumes:
- ~/nginx_data/data:/data
- ~/nginx_data/letsencrypt:/etc/letsencrypt
environment:
# if you want pretty colors in your docker logs:
- FORCE_COLOR=1
- TZ=Europe/Berlin
networks:
proxy:
external: true
vaultwarden
vor dem Ausrollen noch ein Volume mit dem Namen vaultwarden
anlegen
version: '3.8'
services:
vaultwarden:
container_name: vaultwarden
hostname: vaultwarden
image: vaultwarden/server:latest
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
ports:
- "8080:80"
volumes:
- vaultwarden:/data
environment:
- TZ=Europe/Berlin
- WEBSOCKET_ENABLED=true # Enable WebSocket notifications.
- ADMIN_TOKEN=xxxxxxx # <-- mit eigenem Token anpassen
- DOMAIN=https://xxx.xxx.xx # <-- mit eigener Domain anpassen
- SIGNUPS_ALLOWED=false
- SIGNUPS_VERIFY=true
volumes:
vaultwarden:
external: true
networks:
proxy:
external: true
rustdesk
ein Netzwerk anlegen mit dem Namen rustdesk
ein Volume anlegen mit dem Namen rustdesk
version: '3.8'
services:
hbbs:
container_name: rustdesk-hbbs
hostname: rustdesk-hbbs
image: rustdesk/rustdesk-server:latest
restart: unless-stopped
networks:
- rustdesk
ports:
- "21115:21115"
- "21116:21116"
- "21116:21116/udp"
- "21118:21118"
depends_on:
- hbbr
command: hbbs -r <EURE.DYNDS.DE>:21117
volumes:
- rustdesk:/root
environment:
- TZ=Europe/Berlin
hbbr:
container_name: rustdesk-hbbr
hostname: rustdesk-hbbr
image: rustdesk/rustdesk-server:latest
restart: unless-stopped
networks:
- rustdesk
ports:
- "21117:21117"
- "21119:21119"
command: hbbr
volumes:
- rustdesk:/root
environment:
- TZ=Europe/Berlin
networks:
rustdesk:
external: true
volumes:
rustdesk:
external: true
guacamole
vor dem Ausrollen noch ein Volume mit dem Namen guacamole
anlegen
version: '3.8'
services:
guacamole:
container_name: guacamole
hostname: guacamole
image: maxwaldorf/guacamole
restart: unless-stopped
networks:
- proxy
ports:
- "7070:8080"
volumes:
- guacamole:/config
environment:
TZ: Europe/Berlin
EXTENSIONS: auth-totp
networks:
proxy:
external: true
volumes:
guacamole:
external: true
bar assistant
vor dem Ausrollen müssen noch folgende Volumes erstellt werde
bar-assistant
bar-assistant-redis
bar-assistant-meilisearch
sowie folgendes Netzwerk bar-assistant
version: "3"
services:
meilisearch:
container_name: meilisearch
hostname: meilisearch
image: getmeili/meilisearch:v1.1
restart: unless-stopped
networks:
- bar-assistant
volumes:
- bar-assistant-meilisearch:/meili_data
environment:
- MEILI_MASTER_KEY=super-secret-password # password anpassen
- MEILI_ENV=production
redis:
container_name: redis
hostname: redis
image: redis
restart: unless-stopped
networks:
- bar-assistant
volumes:
- bar-assistant-redis:/data
environment:
- ALLOW_EMPTY_PASSWORD=yes
bar-assistant:
container_name: bar-assistant
hostname: bar-assistant
image: barassistant/server:latest
restart: unless-stopped
networks:
- bar-assistant
volumes:
- bar-assistant:/var/www/cocktails/storage/bar-assistant
depends_on:
- meilisearch
- redis
environment:
- APP_URL=https://minibar.your-url.de/bar # url anpassen
- LOG_CHANNEL=stderr
- MEILISEARCH_KEY=super-secret-password # password anpassen
- MEILISEARCH_HOST=http://meilisearch:7700
- REDIS_HOST=redis
- ALLOW_REGISTRATION=true
salt-rim:
container_name: salt-rim
hostname: salt-rim
image: barassistant/salt-rim:latest
restart: unless-stopped
networks:
- bar-assistant
depends_on:
- bar-assistant
environment:
- API_URL=https://minibar.your-url.de/bar # url anpassen
- MEILISEARCH_URL=https://minibar.your-url.de/search # url anpassen
- DEFAULT_LOCALE=en-US
# - BAR_NAME=
# - DESCRIPTION=
webserver:
container_name: webserver
hostname: webserver
image: nginx:alpine
restart: unless-stopped
networks:
- bar-assistant
ports:
- 3000:3000
volumes:
- /home/your-user-folder/bar-assistant/nginx.conf:/etc/nginx/conf.d/default.conf # pfad anpassen
networks:
bar-assistant:
external: true
volumes:
bar-assistant:
external: true
bar-assistant-redis:
external: true
bar-assistant-meilisearch:
external: true
/home/your-user-folder/bar-assistant/nginx.conf
server {
listen 3000 default_server;
listen [::]:3000 default_server;
server_name _;
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
client_max_body_size 100M;
location /bar/ {
proxy_pass http://bar-assistant:3000/;
}
location /search/ {
proxy_pass http://meilisearch:7700/;
}
location / {
proxy_pass http://salt-rim:8080/;
}
}