- Hugo Update
- Deleted old Code
This commit is contained in:
parent
f9f5e848c6
commit
fb5f6c802a
|
@ -1,17 +1,4 @@
|
|||
steps:
|
||||
#docker-buildx-kontify:
|
||||
# image: woodpeckerci/plugin-docker-buildx
|
||||
# settings:
|
||||
# platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64/v8
|
||||
# repo: git.mertens.digital/heri410/kontify
|
||||
# registry: git.mertens.digital
|
||||
# tags: latest
|
||||
# password:
|
||||
# from_secret: docker_password
|
||||
# username:
|
||||
# from_secret: docker_username
|
||||
# dockerfile: ./Container/kontify/Dockerfile
|
||||
# context: ./Container/kontify
|
||||
docker-buildx-hugo:
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
settings:
|
||||
|
@ -23,5 +10,5 @@ steps:
|
|||
from_secret: docker_password
|
||||
username:
|
||||
from_secret: docker_username
|
||||
dockerfile: ./Container/hugo/Dockerfile
|
||||
context: ./Container/hugo
|
||||
dockerfile: ./hugo/Dockerfile
|
||||
context: ./hugo
|
|
@ -1,7 +0,0 @@
|
|||
# Automatischer Caddy Proxy Server
|
||||
Dieser Server erstellt automatisch Proxy Regeln für Docker Container.
|
||||
Vor dem Start muss der Befehl
|
||||
|
||||
docker network create caddy
|
||||
|
||||
ausgeführt werden.
|
|
@ -1,96 +0,0 @@
|
|||
version: "3.7"
|
||||
services:
|
||||
traefik:
|
||||
image: "traefik"
|
||||
command:
|
||||
- --entrypoints.web.address=:80
|
||||
- --entrypoints.websecure.address=:443
|
||||
- --providers.docker
|
||||
- --providers.docker.exposedByDefault=false
|
||||
- --log.level=DEBUG
|
||||
- --providers.docker.network=proxy
|
||||
- --serversTransport.insecureSkipVerify=true
|
||||
- --api
|
||||
|
||||
- "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
|
||||
- "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
|
||||
#- "--certificatesresolvers.letsencrypt.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
|
||||
- "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}"
|
||||
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
|
||||
|
||||
#Lets Encrypt TLS Challenge
|
||||
#- --certificatesresolvers.letsencrypt.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
|
||||
#- --certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}
|
||||
#- --certificatesresolvers.letsencrypt.acme.storage=/acme.json
|
||||
#- --certificatesresolvers.letsencrypt.acme.tlschallenge=true
|
||||
#Logging
|
||||
- "--accesslog=true"
|
||||
- "--accesslog.filePath=/logs/access.log"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
networks:
|
||||
- proxy
|
||||
volumes:
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
- "./data/letsencrypt:/letsencrypt"
|
||||
- ./data/logs/:/logs/
|
||||
labels:
|
||||
# Dashboard
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.traefik.rule=Host(`traefik.zuhause.mertens.digital`)"
|
||||
- "traefik.http.routers.traefik.service=api@internal"
|
||||
- "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.traefik.entrypoints=websecure"
|
||||
#- "traefik.http.routers.traefik.middlewares=authtraefik"
|
||||
#- "traefik.http.middlewares.authtraefik.basicauth.users=user:$2a$12$zeG4z6/dM28JONNH54/jo.pZD0BUuzw0mbD0GFMQqe00lFYCPzKm." # user/password
|
||||
|
||||
# global redirect to https
|
||||
- "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
|
||||
- "traefik.http.routers.http-catchall.entrypoints=web"
|
||||
- "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
|
||||
|
||||
# middleware redirect
|
||||
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
|
||||
restart: unless-stopped
|
||||
# Automatic Container Updates
|
||||
watchtower:
|
||||
image: containrrr/watchtower
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
# whoami:
|
||||
# image: traefik/whoami
|
||||
# command:
|
||||
# - --port=2001
|
||||
# - --name=test
|
||||
# ports:
|
||||
# - "2001:2001"
|
||||
# networks:
|
||||
# - proxy
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.http.routers.whoami.entrypoints=websecure"
|
||||
# - "traefik.http.routers.whoami.rule=Host(`whoami.dev.mertens.digital`)"
|
||||
# - "traefik.http.routers.whoami.tls=true"
|
||||
# - "traefik.http.routers.whoami.tls.certresolver=letsencrypt"
|
||||
# - "traefik.http.services.whoami.loadbalancer.server.port=2001"
|
||||
|
||||
|
||||
|
||||
# Cleanup unused Docker Container
|
||||
janitor:
|
||||
image: flaviostutz/docker-janitor
|
||||
environment:
|
||||
- RUN_ON_STARTUP=true
|
||||
- PRUNE_VOLUMES=true
|
||||
- SLEEP_TIME=86400
|
||||
- UNUSED_TIME=24h
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
|
@ -1,41 +0,0 @@
|
|||
Only working with this modified config File
|
||||
|
||||
```
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Ylianst/MeshCentral/master/meshcentral-config-schema.json",
|
||||
"settings": {
|
||||
"plugins":{"enabled": false},
|
||||
"mongoDb": "mongodb://mongodbadmin:mongodbpasswd@mongodb:27017",
|
||||
"cert": "mesh.dev.mertens.digital",
|
||||
"_WANonly": true,
|
||||
"_LANonly": true,
|
||||
"_sessionKey": "MyReallySecretPassword1",
|
||||
"port": 80,
|
||||
"_aliasPort": 443,
|
||||
"redirPort": 81,
|
||||
"_redirAliasPort": 80,
|
||||
"AgentPong": 300,
|
||||
"TLSOffload": true,
|
||||
"SelfUpdate": false,
|
||||
"AllowFraming": false,
|
||||
"WebRTC": false
|
||||
},
|
||||
"domains": {
|
||||
"": {
|
||||
"_title": "MyServer",
|
||||
"_title2": "Servername",
|
||||
"minify": true,
|
||||
"NewAccounts": true,
|
||||
"localSessionRecording": false,
|
||||
"_userNameIsEmail": true,
|
||||
"certUrl": "https://mesh.dev.mertens.digital:443"
|
||||
}
|
||||
},
|
||||
"_letsencrypt": {
|
||||
"__comment__": "Requires NodeJS 8.x or better, Go to https://letsdebug.net/ first before>",
|
||||
"_email": "myemail@mydomain.com",
|
||||
"_names": "myserver.mydomain.com",
|
||||
"production": false
|
||||
}
|
||||
}
|
||||
```
|
|
@ -1,54 +0,0 @@
|
|||
version: '3'
|
||||
|
||||
networks:
|
||||
meshcentral-tier:
|
||||
driver: bridge
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
services:
|
||||
mongodb:
|
||||
restart: always
|
||||
container_name: mongodb
|
||||
image: mongo:latest
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
# mongodb data-directory - A must for data persistence
|
||||
- ./data/mongodb_data:/data/db
|
||||
networks:
|
||||
- meshcentral-tier
|
||||
|
||||
meshcentral:
|
||||
restart: always
|
||||
container_name: meshcentral
|
||||
# use the official meshcentral container
|
||||
image: ghcr.io/ylianst/meshcentral:latest
|
||||
depends_on:
|
||||
- mongodb
|
||||
#ports:
|
||||
# MeshCentral will moan and try everything not to use port 80, but you can also use it if you so desire, just change the config.json according to your needs
|
||||
#- 443:443
|
||||
#- 80:80
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
# config.json and other important files live here. A must for data persistence
|
||||
- ./data/meshcentral/data:/opt/meshcentral/meshcentral-data
|
||||
# where file uploads for users live
|
||||
- ./data/meshcentral/user_files:/opt/meshcentral/meshcentral-files
|
||||
# location for the meshcentral-backups - this should be mounted to an external storage
|
||||
- ./data/meshcentral/backup:/opt/meshcentral/meshcentral-backups
|
||||
# location for site customization files
|
||||
- ./data/meshcentral/web:/opt/meshcentral/meshcentral-web
|
||||
labels:
|
||||
- 'traefik.enable=true'
|
||||
- "traefik.http.routers.mesh.entrypoints=websecure"
|
||||
- "traefik.http.routers.mesh.rule=Host(`mesh.dev.mertens.digital`)"
|
||||
- "traefik.http.routers.mesh.tls=true"
|
||||
- "traefik.http.routers.mesh.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.mesh.loadbalancer.server.port=80"
|
||||
#- "traefik.http.services.mesh.loadbalancer.server.scheme=https"
|
||||
networks:
|
||||
- meshcentral-tier
|
||||
- proxy
|
|
@ -1,12 +0,0 @@
|
|||
<?php
|
||||
$CONFIG = array (
|
||||
'enabledPreviewProviders' => [
|
||||
'OC\Preview\MP3',
|
||||
'OC\Preview\TXT',
|
||||
'OC\Preview\MarkDown',
|
||||
'OC\Preview\OpenDocument',
|
||||
'OC\Preview\Krita',
|
||||
'OC\Preview\Imaginary',
|
||||
],
|
||||
'preview_imaginary_url' => 'http://preview:9000',
|
||||
);
|
|
@ -1,144 +0,0 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
|
||||
app:
|
||||
image: nextcloud
|
||||
restart: always
|
||||
networks:
|
||||
- proxy
|
||||
- nextcloud
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.nextcloud.rule=Host(`${HOSTNAME}`)"
|
||||
- "traefik.http.routers.nextcloud.service=nextcloud"
|
||||
- "traefik.http.routers.nextcloud.entrypoints=websecure"
|
||||
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
|
||||
- "traefik.http.routers.nextcloud.tls=true"
|
||||
- "traefik.http.routers.nextcloud.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.nextcloud.loadbalancer.passhostheader=true"
|
||||
- "traefik.http.routers.nextcloud.middlewares=compresstraefik"
|
||||
- "traefik.http.middlewares.compresstraefik.compress=true"
|
||||
volumes:
|
||||
- ./data/nextcloud/www:/var/www/html
|
||||
#- ./default-config/preview.config.php:/var/www/html/config/preview.config.php
|
||||
depends_on:
|
||||
#- clamav
|
||||
- preview
|
||||
- db
|
||||
- redis
|
||||
environment:
|
||||
- POSTGRES_HOST=db
|
||||
- REDIS_HOST=redis
|
||||
- POSTGRES_DB=nextcloud
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- NEXTCLOUD_TRUSTED_DOMAINS=${HOSTNAME}
|
||||
- OVERWRITEPROTOCOL=https
|
||||
- TRUSTED_PROXIES=${NEXTCLOUD_TRUSTED_PROXIES}
|
||||
- APACHE_DISABLE_REWRITE_IP=1
|
||||
|
||||
preview:
|
||||
image: docker.io/nextcloud/aio-imaginary:latest
|
||||
restart: always
|
||||
networks:
|
||||
- nextcloud
|
||||
environment:
|
||||
- PORT=9000
|
||||
command: -concurrency 50 -enable-url-source
|
||||
|
||||
collabora-code:
|
||||
image: collabora/code
|
||||
container_name: collabora-code
|
||||
cap_add:
|
||||
- MKNOD
|
||||
ports:
|
||||
- 9980:9980
|
||||
environment:
|
||||
- "domain=cloud\\.dev\\.mertens\\.digital"
|
||||
- username=admin
|
||||
- "extra_params=--o:ssl.enable=false --o:ssl.termination=true"
|
||||
- password=CREATE-A-SECURE-PASSWORD-HERE
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.collabora.entrypoints=websecure"
|
||||
- "traefik.http.routers.collabora.rule=Host(`${COLLABORA_FQDN}`)"
|
||||
- "traefik.http.routers.collabora.tls=true"
|
||||
- "traefik.http.routers.collabora.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.collabora.loadbalancer.server.port=9980"
|
||||
#- "traefik.http.services.collabora.loadbalancer.passhostheader=true"
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
# clamav:
|
||||
# image: "clamav/clamav:stable_base"
|
||||
# container_name: "clamav"
|
||||
# networks:
|
||||
# - nextcloud
|
||||
# volumes:
|
||||
# - ./data/clamav/virus_db:/var/lib/clamav/ # Virus database
|
||||
# restart: unless-stopped
|
||||
|
||||
# Does Not Work
|
||||
#notify_push:
|
||||
# image: icewind1991/notify_push
|
||||
# restart: always
|
||||
# networks:
|
||||
# - nextcloud
|
||||
# - caddy
|
||||
# labels:
|
||||
# caddy: ${HOSTNAME}
|
||||
# caddy.handle_path: /push/*
|
||||
# caddy.handle_path.0_reverse_proxy: "{{upstreams http 7867}}"
|
||||
# depends_on:
|
||||
# - db
|
||||
# - redis
|
||||
# - app
|
||||
# volumes:
|
||||
# - ./data/nextcloud/www:/var/www/html:ro
|
||||
# - /etc/localtime:/etc/localtime:ro
|
||||
# - /etc/timezone:/etc/timezone:ro
|
||||
# environment:
|
||||
# - PORT=7867
|
||||
# - "NEXTCLOUD_URL=http://app" # don't go through the proxy to contact the nextcloud server
|
||||
# entrypoint: ./notify_push --allow-self-signed --dump-config redis://:@redis --log-level debug /var/www/html/config/config.php
|
||||
|
||||
cron:
|
||||
image: nextcloud
|
||||
restart: always
|
||||
volumes:
|
||||
- ./data/nextcloud/www:/var/www/html
|
||||
entrypoint: /cron.sh
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
networks:
|
||||
- nextcloud
|
||||
|
||||
|
||||
db:
|
||||
image: postgres:alpine
|
||||
restart: always
|
||||
networks:
|
||||
- nextcloud
|
||||
environment:
|
||||
POSTGRES_DB: nextcloud
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
volumes:
|
||||
- ./data/db:/var/lib/postgresql/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
networks:
|
||||
- nextcloud
|
||||
|
||||
|
||||
networks:
|
||||
nextcloud:
|
||||
internal: true
|
||||
proxy:
|
||||
external: true
|
|
@ -1,12 +0,0 @@
|
|||
<?php
|
||||
$CONFIG = array (
|
||||
'enabledPreviewProviders' => [
|
||||
'OC\Preview\MP3',
|
||||
'OC\Preview\TXT',
|
||||
'OC\Preview\MarkDown',
|
||||
'OC\Preview\OpenDocument',
|
||||
'OC\Preview\Krita',
|
||||
'OC\Preview\Imaginary',
|
||||
],
|
||||
'preview_imaginary_url' => 'http://preview:9000',
|
||||
);
|
|
@ -1,115 +0,0 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
app:
|
||||
image: nextcloud
|
||||
restart: always
|
||||
networks:
|
||||
- caddy
|
||||
- nextcloud
|
||||
labels:
|
||||
caddy: ${HOSTNAME}
|
||||
caddy.reverse_proxy: "{{upstreams http 80}}"
|
||||
caddy.0_redir: "/.well-known/carddav /remote.php/dav 301"
|
||||
caddy.1_redir: "/.well-known/caldav /remote.php/dav 301"
|
||||
caddy.header: "Strict-Transport-Security max-age=15552000"
|
||||
caddy.tls: "internal"
|
||||
volumes:
|
||||
- ./data/nextcloud/www:/var/www/html
|
||||
- ./default-config/preview.config.php:/var/www/html/config/preview.config.php
|
||||
depends_on:
|
||||
- clamav
|
||||
- preview
|
||||
# - db
|
||||
- redis
|
||||
environment:
|
||||
- POSTGRES_HOST=db
|
||||
- REDIS_HOST=redis
|
||||
- POSTGRES_DB=nextcloud
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- NEXTCLOUD_TRUSTED_DOMAINS=${HOSTNAME}
|
||||
- OVERWRITEPROTOCOL=https
|
||||
- TRUSTED_PROXIES=${NEXTCLOUD_TRUSTED_PROXIES}
|
||||
- APACHE_DISABLE_REWRITE_IP=1
|
||||
|
||||
preview:
|
||||
container_name: "preview"
|
||||
image: docker.io/nextcloud/aio-imaginary:latest
|
||||
restart: always
|
||||
networks:
|
||||
- nextcloud
|
||||
environment:
|
||||
- PORT=9000
|
||||
command: -concurrency 50 -enable-url-source
|
||||
|
||||
clamav:
|
||||
image: "clamav/clamav:stable_base"
|
||||
container_name: "clamav"
|
||||
networks:
|
||||
- nextcloud
|
||||
volumes:
|
||||
- ./data/clamav/virus_db:/var/lib/clamav/ # Virus database
|
||||
restart: unless-stopped
|
||||
|
||||
# Does Not Work
|
||||
#notify_push:
|
||||
# image: icewind1991/notify_push
|
||||
# restart: always
|
||||
# networks:
|
||||
# - nextcloud
|
||||
# - caddy
|
||||
# labels:
|
||||
# caddy: ${HOSTNAME}
|
||||
# caddy.handle_path: /push/*
|
||||
# caddy.handle_path.0_reverse_proxy: "{{upstreams http 7867}}"
|
||||
# depends_on:
|
||||
# - db
|
||||
# - redis
|
||||
# - app
|
||||
# volumes:
|
||||
# - ./data/nextcloud/www:/var/www/html:ro
|
||||
# - /etc/localtime:/etc/localtime:ro
|
||||
# - /etc/timezone:/etc/timezone:ro
|
||||
# environment:
|
||||
# - PORT=7867
|
||||
# - "NEXTCLOUD_URL=http://app" # don't go through the proxy to contact the nextcloud server
|
||||
# entrypoint: ./notify_push --allow-self-signed --dump-config redis://:@redis --log-level debug /var/www/html/config/config.php
|
||||
|
||||
cron:
|
||||
image: nextcloud
|
||||
restart: always
|
||||
volumes:
|
||||
- ./data/nextcloud/www:/var/www/html
|
||||
entrypoint: /cron.sh
|
||||
depends_on:
|
||||
# - db
|
||||
- redis
|
||||
networks:
|
||||
- nextcloud
|
||||
|
||||
|
||||
# db:
|
||||
# image: postgres:alpine
|
||||
# restart: always
|
||||
# networks:
|
||||
# - nextcloud
|
||||
# environment:
|
||||
# POSTGRES_USER: ${POSTGRES_USER}
|
||||
# POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
# volumes:
|
||||
# - ./data/db:/var/lib/postgresql/data
|
||||
# - /etc/localtime:/etc/localtime:ro
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
networks:
|
||||
- nextcloud
|
||||
|
||||
|
||||
networks:
|
||||
nextcloud:
|
||||
internal: true
|
||||
caddy:
|
||||
external: true
|
|
@ -1,154 +0,0 @@
|
|||
version: '2.2'
|
||||
services:
|
||||
sharelatex:
|
||||
restart: always
|
||||
image: tuetenk0pp/sharelatex-full
|
||||
container_name: sharelatex
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# handle https traffic
|
||||
- "traefik.http.routers.sharel-secured.rule=Host(`overleaf.mertens.digital`)"
|
||||
- "traefik.http.routers.sharel-secured.tls=true"
|
||||
- "traefik.http.routers.sharel-secured.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.sharel-secured.entrypoints=websecure"
|
||||
- "traefik.http.middlewares.sharel-secured.forwardauth.trustForwardHeader=true"
|
||||
# Docker loadbalance
|
||||
- "traefik.http.services.sharel.loadbalancer.server.port=80"
|
||||
- "traefik.http.services.sharel.loadbalancer.server.scheme=http"
|
||||
- "traefik.http.services.sharel.loadbalancer.sticky.cookie=true"
|
||||
- "traefik.http.services.sharel.loadbalancer.sticky.cookie.name=io"
|
||||
- "traefik.http.services.sharel.loadbalancer.sticky.cookie.httponly=true"
|
||||
- "traefik.http.services.sharel.loadbalancer.sticky.cookie.secure=true"
|
||||
- "traefik.http.services.sharel.loadbalancer.sticky.cookie.samesite=io"
|
||||
# labels:
|
||||
# caddy: overleaf.mertens.digital
|
||||
# caddy.reverse_proxy: "{{upstreams http 80}}"
|
||||
networks:
|
||||
- proxy
|
||||
- default
|
||||
depends_on:
|
||||
mongo:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_started
|
||||
ports:
|
||||
- 8088:80
|
||||
- 8080:8080
|
||||
links:
|
||||
- mongo
|
||||
- redis
|
||||
stop_grace_period: 60s
|
||||
volumes:
|
||||
- ./data/sharelatex_log:/var/log/sharelatex/
|
||||
- ./data/sharelatex:/var/lib/sharelatex
|
||||
environment:
|
||||
SHARELATEX_APP_NAME: Overleaf Mertens
|
||||
SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
|
||||
|
||||
SHARELATEX_REDIS_HOST: redis
|
||||
REDIS_HOST: redis
|
||||
|
||||
ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file'
|
||||
|
||||
ENABLE_CONVERSIONS: 'true'
|
||||
|
||||
EMAIL_CONFIRMATION_DISABLED: 'true'
|
||||
|
||||
TEXMFVAR: /var/lib/sharelatex/tmp/texmf-var
|
||||
|
||||
#Proxy
|
||||
SHARELATEX_SECURE_COOKIE: 'true'
|
||||
SHARELATEX_BEHIND_PROXY: 'true'
|
||||
|
||||
## Set for SSL via nginx-proxy
|
||||
#VIRTUAL_HOST: 103.112.212.22
|
||||
|
||||
SHARELATEX_SITE_URL: https://overleaf.mertens.digital
|
||||
# SHARELATEX_NAV_TITLE: Our ShareLaTeX Instance
|
||||
# SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png
|
||||
# SHARELATEX_ADMIN_EMAIL: support@it.com
|
||||
|
||||
# SHARELATEX_LEFT_FOOTER: '[{"text": "Powered by <a href=\"https://www.sharelatex.com\">ShareLaTeX</a> 2016"},{"text": "Another page I want to link to can be found <a href=\"here\">here</a>"} ]'
|
||||
# SHARELATEX_RIGHT_FOOTER: '[{"text": "Hello I am on the Right"} ]'
|
||||
|
||||
SHARELATEX_EMAIL_FROM_ADDRESS: ${SHARELATEX_EMAIL_FROM_ADDRESS}
|
||||
|
||||
# SHARELATEX_EMAIL_AWS_SES_ACCESS_KEY_ID:
|
||||
# SHARELATEX_EMAIL_AWS_SES_SECRET_KEY:
|
||||
|
||||
SHARELATEX_EMAIL_SMTP_HOST: ${SHARELATEX_EMAIL_SMTP_HOST}
|
||||
SHARELATEX_EMAIL_SMTP_PORT: 25
|
||||
SHARELATEX_EMAIL_SMTP_SECURE: "false"
|
||||
SHARELATEX_EMAIL_SMTP_USER: ${SHARELATEX_EMAIL_SMTP_USER}
|
||||
SHARELATEX_EMAIL_SMTP_PASS: ${SHARELATEX_EMAIL_SMTP_PASS}
|
||||
SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: "true"
|
||||
SHARELATEX_EMAIL_SMTP_IGNORE_TLS: "true"
|
||||
#SHARELATEX_EMAIL_SMTP_NAME: '127.0.0.1'
|
||||
SHARELATEX_EMAIL_SMTP_LOGGER: "true"
|
||||
#SHARELATEX_CUSTOM_EMAIL_FOOTER: "This system is run by department x"
|
||||
|
||||
################
|
||||
## Server Pro ##
|
||||
################
|
||||
|
||||
# SANDBOXED_COMPILES: 'true'
|
||||
|
||||
# SANDBOXED_COMPILES_SIBLING_CONTAINERS: 'true'
|
||||
# SANDBOXED_COMPILES_HOST_DIR: '/var/sharelatex_data/data/compiles'
|
||||
|
||||
# DOCKER_RUNNER: 'false'
|
||||
|
||||
## Works with test LDAP server shown at bottom of docker compose
|
||||
# SHARELATEX_LDAP_URL: 'ldap://ldap:389'
|
||||
# SHARELATEX_LDAP_SEARCH_BASE: 'ou=people,dc=planetexpress,dc=com'
|
||||
# SHARELATEX_LDAP_SEARCH_FILTER: '(uid={{username}})'
|
||||
# SHARELATEX_LDAP_BIND_DN: 'cn=admin,dc=planetexpress,dc=com'
|
||||
# SHARELATEX_LDAP_BIND_CREDENTIALS: 'GoodNewsEveryone'
|
||||
# SHARELATEX_LDAP_EMAIL_ATT: 'mail'
|
||||
# SHARELATEX_LDAP_NAME_ATT: 'cn'
|
||||
# SHARELATEX_LDAP_LAST_NAME_ATT: 'sn'
|
||||
# SHARELATEX_LDAP_UPDATE_USER_DETAILS_ON_LOGIN: 'true'
|
||||
|
||||
# SHARELATEX_TEMPLATES_USER_ID: "578773160210479700917ee5"
|
||||
# SHARELATEX_NEW_PROJECT_TEMPLATE_LINKS: '[ {"name":"All Templates","url":"/templates/all"}]'
|
||||
|
||||
|
||||
# SHARELATEX_PROXY_LEARN: "true"
|
||||
|
||||
mongo:
|
||||
restart: always
|
||||
image: mongo:4.4
|
||||
container_name: mongo
|
||||
expose:
|
||||
- 27017
|
||||
volumes:
|
||||
- ./data/mongo_data:/data/db
|
||||
healthcheck:
|
||||
test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
|
||||
interval: 10s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
restart: always
|
||||
image: redis:5
|
||||
container_name: redis
|
||||
expose:
|
||||
- 6379
|
||||
volumes:
|
||||
- ./data/redis_data:/data
|
||||
|
||||
# nginx-proxy:
|
||||
# image: jwilder/nginx-proxy
|
||||
# container_name: nginx-proxy
|
||||
# ports:
|
||||
# #- "80:80"
|
||||
# - "443:443"
|
||||
# volumes:
|
||||
# - /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
# - /home/sharelatex/tmp:/etc/nginx/certs
|
||||
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
|
@ -1,117 +0,0 @@
|
|||
version: '3.5'
|
||||
|
||||
services:
|
||||
photoprism:
|
||||
image: photoprism/photoprism:latest
|
||||
depends_on:
|
||||
- mariadb
|
||||
restart: unless-stopped
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
ports:
|
||||
- "2342:2342" # HTTP port (host:container)
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.photo.rule=Host(`${SERVER_DOMAIN}`)"
|
||||
- "traefik.http.routers.photo.service=nextcloud"
|
||||
- "traefik.http.routers.photo.entrypoints=websecure"
|
||||
- "traefik.http.services.photo.loadbalancer.server.port=2343"
|
||||
- "traefik.http.routers.photo.tls=true"
|
||||
- "traefik.http.routers.photo.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.photo.loadbalancer.passhostheader=true"
|
||||
- "traefik.http.routers.photo.middlewares=compresstraefik"
|
||||
- "traefik.http.middlewares.compresstraefik.compress=true"
|
||||
|
||||
|
||||
|
||||
|
||||
#- "traefik.http.routers.photoprism.rule=Host(`${SERVER_DOMAIN}`)"
|
||||
#- "traefik.http.routers.photoprism.tls=true"
|
||||
#- "traefik.http.routers.photoprism.tls.certresolver=myresolver"
|
||||
|
||||
#caddy: ${SERVER_DOMAIN}
|
||||
#caddy.reverse_proxy: "{{upstreams http 2342}}"
|
||||
#caddy.@denied.not.remote_ip: "192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 127.0.0.1/8"
|
||||
#caddy.reverse_proxy: "@denied {{upstreams 2342}}"
|
||||
#caddy.tls: "internal"
|
||||
networks:
|
||||
- proxy
|
||||
- photoprism
|
||||
environment:
|
||||
PHOTOPRISM_ADMIN_USER: "admin" # superadmin username
|
||||
PHOTOPRISM_ADMIN_PASSWORD: ${ADMIN_PW} # initial superadmin password (minimum 8 characters)
|
||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
||||
PHOTOPRISM_SITE_URL: ${SERVER_URL} # server URL in the format "http(s)://domain.name(:port)/(path)"
|
||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||
PHOTOPRISM_HTTP_COMPRESSION: "gzip" # improves transfer speed and bandwidth utilization (none or gzip)
|
||||
PHOTOPRISM_LOG_LEVEL: "info" # log level: trace, debug, info, warning, error, fatal, or panic
|
||||
PHOTOPRISM_READONLY: "false" # do not modify originals directory (reduced functionality)
|
||||
PHOTOPRISM_EXPERIMENTAL: "false" # enables experimental features
|
||||
PHOTOPRISM_DISABLE_CHOWN: "false" # disables updating storage permissions via chmod and chown on startup
|
||||
PHOTOPRISM_DISABLE_WEBDAV: "false" # disables built-in WebDAV server
|
||||
PHOTOPRISM_DISABLE_SETTINGS: "false" # disables settings UI and API
|
||||
PHOTOPRISM_DISABLE_TENSORFLOW: "false" # disables all features depending on TensorFlow
|
||||
PHOTOPRISM_DISABLE_FACES: "false" # disables face detection and recognition (requires TensorFlow)
|
||||
PHOTOPRISM_DISABLE_CLASSIFICATION: "false" # disables image classification (requires TensorFlow)
|
||||
PHOTOPRISM_DISABLE_RAW: "false" # disables indexing and conversion of RAW files
|
||||
PHOTOPRISM_RAW_PRESETS: "false" # enables applying user presets when converting RAW files (reduces performance)
|
||||
PHOTOPRISM_JPEG_QUALITY: 85 # a higher value increases the quality and file size of JPEG images and thumbnails (25-100)
|
||||
PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow)
|
||||
PHOTOPRISM_UPLOAD_NSFW: "true" # allows uploads that MAY be offensive (no effect without TensorFlow)
|
||||
PHOTOPRISM_DATABASE_DRIVER: "mysql" # use MariaDB 10.5+ or MySQL 8+ instead of SQLite for improved performance
|
||||
PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB or MySQL database server (hostname:port)
|
||||
PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB or MySQL database schema name
|
||||
PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB or MySQL database user name
|
||||
PHOTOPRISM_DATABASE_PASSWORD: ${MYSQL_PW} # MariaDB or MySQL database user password
|
||||
PHOTOPRISM_SITE_CAPTION: "Henriks Fotos"
|
||||
PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description
|
||||
PHOTOPRISM_SITE_AUTHOR: "Henrik Mertens" # meta site author
|
||||
## Run/install on first startup (options: update https gpu tensorflow davfs clitools clean):
|
||||
# PHOTOPRISM_INIT: "tensorflow"
|
||||
working_dir: "/photoprism" # do not change or remove
|
||||
volumes:
|
||||
- /mnt/helmut/homes/henrik/Fotos:/photoprism/originals/Fotos
|
||||
- /mnt/helmut/homes/henrik/photoprism/originals:/photoprism/originals # Original media files (DO NOT REMOVE)
|
||||
- /mnt/helmut/homes/henrik/photoprism/import:/photoprism/import
|
||||
- "./data/storage:/photoprism/storage" # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)
|
||||
|
||||
mariadb:
|
||||
restart: unless-stopped
|
||||
image: mariadb:10.10
|
||||
security_opt: # see https://github.com/MariaDB/mariadb-docker/issues/434#issuecomment-1136151239
|
||||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
command: mysqld --innodb-buffer-pool-size=512M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
|
||||
volumes:
|
||||
- "./data/mysql:/var/lib/mysql" # DO NOT REMOVE
|
||||
networks:
|
||||
- photoprism
|
||||
environment:
|
||||
MARIADB_AUTO_UPGRADE: "1"
|
||||
MARIADB_INITDB_SKIP_TZINFO: "1"
|
||||
MARIADB_DATABASE: "photoprism"
|
||||
MARIADB_USER: "photoprism"
|
||||
MARIADB_PASSWORD: ${MYSQL_PW}
|
||||
MARIADB_ROOT_PASSWORD: ${MYSQL_PW}
|
||||
|
||||
## Watchtower upgrades services automatically (optional)
|
||||
## see https://docs.photoprism.app/getting-started/updates/#watchtower
|
||||
## activate via "COMPOSE_PROFILES=update docker compose up -d"
|
||||
#watchtower:
|
||||
# restart: unless-stopped
|
||||
# image: containrrr/watchtower
|
||||
# profiles: ["update"]
|
||||
# environment:
|
||||
# WATCHTOWER_CLEANUP: "true"
|
||||
# WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours
|
||||
# volumes:
|
||||
# - "/var/run/docker.sock:/var/run/docker.sock"
|
||||
# - "~/.docker/config.json:/config.json" # optional, for authentication if you have a Docker Hub account
|
||||
|
||||
|
||||
networks:
|
||||
photoprism:
|
||||
internal: true
|
||||
proxy:
|
||||
external: true
|
|
@ -1,99 +0,0 @@
|
|||
version: '3.5'
|
||||
|
||||
services:
|
||||
photoprism:
|
||||
image: photoprism/photoprism:latest
|
||||
depends_on:
|
||||
- mariadb
|
||||
restart: unless-stopped
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
#ports:
|
||||
# - "2342:2342" # HTTP port (host:container)
|
||||
labels:
|
||||
caddy: ${SERVER_DOMAIN}
|
||||
caddy.reverse_proxy: "{{upstreams http 2342}}"
|
||||
#caddy.@denied.not.remote_ip: "192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 127.0.0.1/8"
|
||||
#caddy.reverse_proxy: "@denied {{upstreams 2342}}"
|
||||
caddy.tls: "internal"
|
||||
networks:
|
||||
- caddy
|
||||
- photoprism
|
||||
environment:
|
||||
PHOTOPRISM_ADMIN_USER: "admin" # superadmin username
|
||||
PHOTOPRISM_ADMIN_PASSWORD: ${ADMIN_PW} # initial superadmin password (minimum 8 characters)
|
||||
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
|
||||
PHOTOPRISM_SITE_URL: ${SERVER_URL} # server URL in the format "http(s)://domain.name(:port)/(path)"
|
||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video)
|
||||
PHOTOPRISM_HTTP_COMPRESSION: "gzip" # improves transfer speed and bandwidth utilization (none or gzip)
|
||||
PHOTOPRISM_LOG_LEVEL: "info" # log level: trace, debug, info, warning, error, fatal, or panic
|
||||
PHOTOPRISM_READONLY: "false" # do not modify originals directory (reduced functionality)
|
||||
PHOTOPRISM_EXPERIMENTAL: "false" # enables experimental features
|
||||
PHOTOPRISM_DISABLE_CHOWN: "false" # disables updating storage permissions via chmod and chown on startup
|
||||
PHOTOPRISM_DISABLE_WEBDAV: "false" # disables built-in WebDAV server
|
||||
PHOTOPRISM_DISABLE_SETTINGS: "false" # disables settings UI and API
|
||||
PHOTOPRISM_DISABLE_TENSORFLOW: "false" # disables all features depending on TensorFlow
|
||||
PHOTOPRISM_DISABLE_FACES: "false" # disables face detection and recognition (requires TensorFlow)
|
||||
PHOTOPRISM_DISABLE_CLASSIFICATION: "false" # disables image classification (requires TensorFlow)
|
||||
PHOTOPRISM_DISABLE_RAW: "false" # disables indexing and conversion of RAW files
|
||||
PHOTOPRISM_RAW_PRESETS: "false" # enables applying user presets when converting RAW files (reduces performance)
|
||||
PHOTOPRISM_JPEG_QUALITY: 85 # a higher value increases the quality and file size of JPEG images and thumbnails (25-100)
|
||||
PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow)
|
||||
PHOTOPRISM_UPLOAD_NSFW: "true" # allows uploads that MAY be offensive (no effect without TensorFlow)
|
||||
PHOTOPRISM_DATABASE_DRIVER: "mysql" # use MariaDB 10.5+ or MySQL 8+ instead of SQLite for improved performance
|
||||
PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB or MySQL database server (hostname:port)
|
||||
PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB or MySQL database schema name
|
||||
PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB or MySQL database user name
|
||||
PHOTOPRISM_DATABASE_PASSWORD: ${MYSQL_PW} # MariaDB or MySQL database user password
|
||||
PHOTOPRISM_SITE_CAPTION: "Henriks Fotos"
|
||||
PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description
|
||||
PHOTOPRISM_SITE_AUTHOR: "Henrik Mertens" # meta site author
|
||||
## Run/install on first startup (options: update https gpu tensorflow davfs clitools clean):
|
||||
# PHOTOPRISM_INIT: "tensorflow"
|
||||
working_dir: "/photoprism" # do not change or remove
|
||||
volumes:
|
||||
- /mnt/helmut/homes/henrik/Fotos:/photoprism/originals/Fotos
|
||||
- /mnt/helmut/homes/henrik/photoprism/originals:/photoprism/originals # Original media files (DO NOT REMOVE)
|
||||
- /mnt/helmut/homes/henrik/photoprism/import:/photoprism/import
|
||||
- "./data/storage:/photoprism/storage" # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)
|
||||
|
||||
mariadb:
|
||||
restart: unless-stopped
|
||||
image: mariadb:10.10
|
||||
security_opt: # see https://github.com/MariaDB/mariadb-docker/issues/434#issuecomment-1136151239
|
||||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
command: mysqld --innodb-buffer-pool-size=512M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
|
||||
volumes:
|
||||
- "./data/mysql:/var/lib/mysql" # DO NOT REMOVE
|
||||
networks:
|
||||
- photoprism
|
||||
environment:
|
||||
MARIADB_AUTO_UPGRADE: "1"
|
||||
MARIADB_INITDB_SKIP_TZINFO: "1"
|
||||
MARIADB_DATABASE: "photoprism"
|
||||
MARIADB_USER: "photoprism"
|
||||
MARIADB_PASSWORD: ${MYSQL_PW}
|
||||
MARIADB_ROOT_PASSWORD: ${MYSQL_PW}
|
||||
|
||||
## Watchtower upgrades services automatically (optional)
|
||||
## see https://docs.photoprism.app/getting-started/updates/#watchtower
|
||||
## activate via "COMPOSE_PROFILES=update docker compose up -d"
|
||||
#watchtower:
|
||||
# restart: unless-stopped
|
||||
# image: containrrr/watchtower
|
||||
# profiles: ["update"]
|
||||
# environment:
|
||||
# WATCHTOWER_CLEANUP: "true"
|
||||
# WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours
|
||||
# volumes:
|
||||
# - "/var/run/docker.sock:/var/run/docker.sock"
|
||||
# - "~/.docker/config.json:/config.json" # optional, for authentication if you have a Docker Hub account
|
||||
|
||||
|
||||
networks:
|
||||
photoprism:
|
||||
internal: true
|
||||
caddy:
|
||||
external: true
|
|
@ -1,49 +0,0 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
|
||||
restic-server:
|
||||
image: restic/rest-server
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.rest-server.entrypoints=websecure
|
||||
- traefik.http.routers.rest-server.rule=Host(`restic-zuhause.mertens.digital`)
|
||||
- traefik.http.routers.rest-server.tls=true
|
||||
- traefik.http.routers.rest-server.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.rest-server.loadbalancer.server.port=8000
|
||||
networks:
|
||||
- proxy
|
||||
# networks:
|
||||
# - caddy
|
||||
# labels:
|
||||
# caddy: restic-zuhause.mertens.digital
|
||||
# caddy.reverse_proxy: "{{upstreams 8000}}"
|
||||
volumes:
|
||||
- /mnt/helmut/backup/restic:/data
|
||||
environment:
|
||||
OPTIONS: "--private-repos --append-only"
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
|
||||
|
||||
|
||||
# whoami:
|
||||
# image: traefik/whoami
|
||||
# command:
|
||||
# - --port=2001
|
||||
# - --name=test
|
||||
# ports:
|
||||
# - "2001:2001"
|
||||
# networks:
|
||||
# - proxy
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.http.routers.whoami.entrypoints=websecure"
|
||||
# - "traefik.http.routers.whoami.rule=Host(`whoami.dev.mertens.digital`)"
|
||||
# - "traefik.http.routers.whoami.tls=true"
|
||||
# - "traefik.http.routers.whoami.tls.certresolver=letsencrypt"
|
||||
# - "traefik.http.services.whoami.loadbalancer.server.port=2001"
|
|
@ -1,49 +0,0 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
woodpecker-server:
|
||||
image: woodpeckerci/woodpecker-server:next
|
||||
restart: always
|
||||
volumes:
|
||||
- ./data/woodpecker:/var/lib/woodpecker/
|
||||
environment:
|
||||
- WOODPECKER_LOG_LEVEL=info
|
||||
- WOODPECKER_OPEN=true
|
||||
- WOODPECKER_HOST=${WOODPECKER_HOST}
|
||||
- WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
|
||||
- WOODPECKER_GITEA=true
|
||||
- WOODPECKER_GITEA_URL=${WOODPECKER_GITEA_URL}
|
||||
- WOODPECKER_GITEA_CLIENT=${WOODPECKER_GITEA_CLIENT}
|
||||
- WOODPECKER_GITEA_SECRET=${WOODPECKER_GITEA_SECRET}
|
||||
networks:
|
||||
- proxy
|
||||
- woodpecker
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.woodpecker.rule=Host(`woodpecker.mertens.digital`)"
|
||||
- "traefik.http.routers.woodpecker.entrypoints=websecure"
|
||||
- "traefik.http.routers.woodpecker.tls=true"
|
||||
- "traefik.http.routers.woodpecker.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.woodpecker.loadbalancer.server.port=8000"
|
||||
|
||||
woodpecker-agent:
|
||||
image: woodpeckerci/woodpecker-agent:next
|
||||
#command: agent
|
||||
restart: always
|
||||
depends_on:
|
||||
- woodpecker-server
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
networks:
|
||||
- woodpecker
|
||||
environment:
|
||||
# - WOODPECKER_LOG_LEVEL=debug
|
||||
- WOODPECKER_SERVER=woodpecker-server:9000
|
||||
- WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
|
||||
- WOODPECKER_MAX_WORKFLOWS=2
|
||||
|
||||
networks:
|
||||
woodpecker:
|
||||
internal: true
|
||||
proxy:
|
||||
external: true
|
|
@ -1,22 +0,0 @@
|
|||
FROM python:latest
|
||||
|
||||
RUN apt-get update && apt-get upgrade -y && apt-get install -y \
|
||||
git \
|
||||
sqlite3
|
||||
|
||||
COPY RUN.sh /RUN.sh
|
||||
RUN chmod +x /RUN.sh
|
||||
|
||||
WORKDIR /
|
||||
RUN git clone https://github.com/jahir/kontify.git
|
||||
|
||||
WORKDIR "/kontify"
|
||||
|
||||
#ENTRYPOINT [ "/bin/bash" ]
|
||||
|
||||
RUN pip install --upgrade pip
|
||||
RUN pip install -r requirements.txt
|
||||
|
||||
ENTRYPOINT [ "/bin/bash" ]
|
||||
CMD [ "/RUN.sh" ]
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# kontify Docker Build
|
||||
|
||||
This Images runs [_kontify_](https://github.com/jahir/kontify/blob/master/README.md) in a Container.
|
||||
|
||||
---
|
||||
|
||||
To make this Container work you have to create a Config and a Database first. This can be seen in the [_kontify_](https://github.com/jahir/kontify/blob/master/README.md) Repository.
|
||||
|
||||
## Run this Container
|
||||
|
||||
docker run \
|
||||
--name knotify \
|
||||
-v <config Folder>:/config
|
||||
|
||||
The Database and the Config File is copied into the kontify Folder to be read by the Programm. After the Command is finished the Database is copied back into the Config Folder.
|
|
@ -1,8 +0,0 @@
|
|||
#/bin/bash
|
||||
|
||||
cp /config/kontify.yaml /kontify/kontify.yaml
|
||||
cp /config/kontify.sqlite /kontify/kontify.sqlite
|
||||
|
||||
python /kontify/kontify.py
|
||||
|
||||
cp /kontify/kontify.sqlite /config/kontify.sqlite
|
Loading…
Reference in a new issue