Neues Volume (50GB) hinzugefügt und genountet nach /var/opencloud. Opencloud-Daten kopiert und Server neu gebootet.
Alte opencloud-Daten auf root-Partition gelöscht. 41% belegt auf /
Upgrade, Reboot
Jenkins installiert
services:
jenkins:
image: jenkins/jenkins:lts-jdk25
container_name: jenkins
restart: unless-stopped
ports:
- "8080:8080"
- "50000:50000"
user: root
labels:
- traefik.enable=true
- traefik.http.routers.jenkins.rule=Host(`jenkins.thofoer-cloud.de`)
- traefik.http.routers.jenkins.entrypoints=https
- traefik.http.routers.jenkins.tls.certresolver=letsencrypt
- traefik.http.services.jenkins.loadbalancer.server.port=8080
volumes:
- ./jenkins_home:/var/jenkins_home
# Zugriff auf Host-Docker
- /var/run/docker.sock:/var/run/docker.sock
# Optional: Docker Binary vom Host
- /usr/bin/docker:/usr/bin/docker
networks:
- opencloud-compose_opencloud-net
networks:
opencloud-compose_opencloud-net:
external: true
apache2-utils installiert (für htpasswd)
apt install apache2-utils
DNS-Einträge (Typ A und AAAA) erstellen für registry.thofoer-cloud.de und registry-ui.thofoer-cloud.de
Docker-Registry und Registry-UI installiert in /root/registry
docker-compose.yml:
services:
registry:
image: registry:2
restart: always
container_name: registry-server
labels:
- traefik.enable=true
- traefik.http.routers.registry.rule=Host(`registry.thofoer-cloud.de`)
- traefik.http.routers.registry.entrypoints=https
- traefik.http.routers.registry.tls.certresolver=letsencrypt
- traefik.http.services.registry.loadbalancer.server.port=5000
environment:
REGISTRY_AUTH: "htpasswd"
REGISTRY_AUTH_HTPASSWD_REALM: "Registry"
REGISTRY_AUTH_HTPASSWD_PATH: "/auth/htpasswd"
REGISTRY_STORAGE_DELETE_ENABLED: "true"
REGISTRY_HTTP_HEADERS_Access-Control-Allow-Origin: '[https://registry-ui.thofoer-cloud.de]'
REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods: '[HEAD,GET,OPTIONS,DELETE]'
REGISTRY_HTTP_HEADERS_Access-Control-Allow-Credentials: '[true]'
REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers: '[Authorization,Accept,Cache-Control]'
REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers: '[Docker-Content-Digest]'
volumes:
- ./data:/var/lib/registry
- ./auth:/auth
- ./certs:/certs
networks:
- opencloud-compose_opencloud-net
registry-ui:
image: joxit/docker-registry-ui:main
restart: always
ports:
- 8088:80
environment:
- SINGLE_REGISTRY=true
- REGISTRY_TITLE=Docker Registry UI
- DELETE_IMAGES=true
- SHOW_CONTENT_DIGEST=true
- NGINX_PROXY_PASS_URL=http://registry-server:5000
- SHOW_CATALOG_NB_TAGS=true
- CATALOG_MIN_BRANCHES=1
- CATALOG_MAX_BRANCHES=1
- TAGLIST_PAGE_SIZE=100
- REGISTRY_SECURED=false
- CATALOG_ELEMENTS_LIMIT=1000
labels:
- traefik.enable=true
- traefik.http.routers.registry-ui.rule=Host(`registry-ui.thofoer-cloud.de`)
- traefik.http.routers.registry-ui.entrypoints=https
- traefik.http.routers.registry-ui.tls.certresolver=letsencrypt
- traefik.http.services.registry-ui.loadbalancer.server.port=80
networks:
- opencloud-compose_opencloud-net
container_name: registry-ui
networks:
opencloud-compose_opencloud-net:
external: true
User deploy erzeugt für registry (htpasswd)
Upgrade, Reboot
DNS-Einträge (Typ A und AAAA) erstellen für wiki.thofoer-cloud.de
Installation über docker compose: https://docs.requarks.io/install/docker
docker-compose.yml:
services:
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: HJ67-182hZZt
POSTGRES_USER: wikijs
logging:
driver: local
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
networks:
- wiki-net
wiki:
image: ghcr.io/requarks/wiki:2
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: HJ67-182hZZt
DB_NAME: wiki
restart: unless-stopped
networks:
- opencloud-compose_opencloud-net
- wiki-net
labels:
- "traefik.enable=true"
- "traefik.http.routers.wikijs.rule=Host(`wiki.thofoer-cloud.de`)"
- "traefik.http.routers.wikijs.entrypoints=https"
- "traefik.http.routers.wikijs.tls.certresolver=letsencrypt"
- "traefik.http.services.wikijs.loadbalancer.server.port=3000"
networks:
opencloud-compose_opencloud-net:
external: true
wiki-net:
driver: bridge
volumes:
db-data:
Der wiki-Service benutzt Label, um den reverse Proxy Traefik zu konfigurieren. Als network muss "opencloud-compose_opencloud-net" verwendet werden, das während der OpenCloud-Installation erstellt wurde.
Docker installieren: https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
apt update
apt upgrade
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
OpenCloud installieren: https://docs.opencloud.eu/docs/admin/getting-started/container/docker-compose/docker-compose-base/
DNS-Zone erstellt mit Einträgen:
| Typ | Name | Wert |
|---|---|---|
| A | cloud.thofoer-cloud.de | 204.168.232.38 |
| A | collabora.thofoer-cloud.de | 204.168.232.38 |
| A | wopiserver.thofoer-cloud.de | 204.168.232.38 |
| A | traefik.thofoer-cloud.de | 204.168.232.38 |
| AAAA | cloud.thofoer-cloud.de | 2a01:4f9:c013:397::1 |
| AAAA | collabora.thofoer-cloud.de | 2a01:4f9:c013:397::1 |
| AAAA | wopiserver.thofoer-cloud.de | 2a01:4f9:c013:397::1 |
| AAAA | traefik.thofoer-cloud.de | 2a01:4f9:c013:397::1 |
Docker-Compose Konfiguration auschecken
git clone https://github.com/opencloud-eu/opencloud-compose.git
Konfigurationdatei kopieren
cp .env.example .env
Anpassungen an .env
#INSECURE=true
COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml
TRAEFIK_DASHBOARD=true
TRAEFIK_DOMAIN=traefik.thofoer-cloud.de
TRAEFIK_BASIC_AUTH_USERS=admin:$$2y$$05$$14HZTk3nEldjn7TUpPu8ren0phthUKs1iCW9j8ilNefucjx.W7/c.
TRAEFIK_ACME_MAIL=thofoer@gmx.de
OC_DOMAIN=cloud.thofoer-cloud.de
INITIAL_ADMIN_PASSWORD=qaywsx
OC_CONFIG_DIR=/var/opencloud/config
OC_DATA_DIR=/var/opencloud/data
COLLABORA_DOMAIN=collabora.thofoer-cloud.de
WOPISERVER_DOMAIN=wopiserver.thofoer-cloud.de
COLLABORA_ADMIN_PASSWORD=qaywsx
BASIC_AUTH_USERS für Traefik lässt sich erzeugen über echo $(htpasswd -nB admin) | sed -e s/\\$/\\$\\$/g
Docker starten: docker compose up -d