mirror of
https://github.com/StepanovPlaton/HomeServerServices.git
synced 2026-04-03 12:20:43 +04:00
Update
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -18,7 +18,9 @@ gitea/config/*
|
|||||||
matrix/data/*
|
matrix/data/*
|
||||||
matrix/db
|
matrix/db
|
||||||
|
|
||||||
cloud/filebrowser.db
|
cloud/db
|
||||||
|
cloud/data
|
||||||
|
cloud/config
|
||||||
|
|
||||||
memos
|
memos
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
SHARED_FOLDER=/path/to/folder
|
NEXTCLOUD_DATABASE=nextcloud-db
|
||||||
USER_ID=1000
|
DATABASE_USER=nextcloud
|
||||||
GROUP_ID=1000
|
DATABASE_PASSWORD=password
|
||||||
ADMIN_USER=admin
|
DATABASE_ROOT_PASSWORD=another_password
|
||||||
ADMIN_PASSWORD=password # Минимальная длинна 12 символов
|
PATH_TO_FOLDER=/path/to/folder/
|
||||||
|
|
||||||
|
NEXTCLOUD_ADMIN=admin
|
||||||
|
NEXTCLOUD_PASSWORD=password
|
||||||
|
NEXTCLOUD_DOMAIN=cloud.domain.ru
|
||||||
|
|||||||
@@ -1,40 +1,55 @@
|
|||||||
services:
|
services:
|
||||||
filebrowser:
|
nextcloud-db:
|
||||||
image: docker.io/filebrowser/filebrowser:latest
|
image: docker.io/library/mariadb:11
|
||||||
container_name: filebrowser
|
|
||||||
restart: always
|
restart: always
|
||||||
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
||||||
|
container_name: nextcloud-db
|
||||||
volumes:
|
volumes:
|
||||||
# Папка с вашими файлами (замените /path/to/your/files на реальный путь)
|
- ./db:/var/lib/mysql:z
|
||||||
- ${SHARED_FOLDER}:/srv
|
|
||||||
# База данных настроек и пользователей
|
|
||||||
- ./filebrowser.db:/database/filebrowser.db
|
|
||||||
# (Опционально) Конфигурационный файл
|
|
||||||
# - ./settings.json:/config/settings.json
|
|
||||||
environment:
|
environment:
|
||||||
- PUID=${USER_ID:?}
|
- MARIADB_DATABASE=${NEXTCLOUD_DATABASE:?}
|
||||||
- PGID=${GROUP_ID:?}
|
- MARIADB_USER=${DATABASE_USER:?}
|
||||||
entrypoint: ["/bin/sh", "-c"]
|
- MARIADB_PASSWORD=${DATABASE_PASSWORD:?}
|
||||||
command:
|
- MARIADB_ROOT_PASSWORD=${DATABASE_ROOT_PASSWORD:?}
|
||||||
- |
|
networks:
|
||||||
if [ ! -s /database/filebrowser.db ]; then
|
- private_cloud_network
|
||||||
filebrowser config init --database /database/filebrowser.db
|
|
||||||
filebrowser config set --auth.method=json --database /database/filebrowser.db
|
nextcloud-redis:
|
||||||
fi
|
image: docker.io/library/redis:alpine
|
||||||
filebrowser config set --root /srv --database /database/filebrowser.db
|
restart: always
|
||||||
filebrowser users add ${ADMIN_USER:?} ${ADMIN_PASSWORD:?} --perm.admin --scope "." --database /database/filebrowser.db || \
|
container_name: nextcloud-redis
|
||||||
filebrowser users update ${ADMIN_USER:?} --password ${ADMIN_PASSWORD:?} --scope "." --database /database/filebrowser.db
|
networks:
|
||||||
filebrowser --database /database/filebrowser.db --address 0.0.0.0 --port 8080 --root /srv
|
- private_cloud_network
|
||||||
deploy:
|
|
||||||
resources:
|
nextcloud:
|
||||||
limits:
|
image: docker.io/library/nextcloud:latest
|
||||||
cpus: '1.0'
|
restart: always
|
||||||
memory: 512M
|
container_name: nextcloud
|
||||||
reservations:
|
volumes:
|
||||||
memory: 256M
|
- ${PATH_TO_FOLDER:?}:/var/www/external_storage:z
|
||||||
|
- ./data:/var/www/html/data:z
|
||||||
|
- ./config:/var/www/html/config:z
|
||||||
|
environment:
|
||||||
|
- MYSQL_PASSWORD=${DATABASE_PASSWORD:?}
|
||||||
|
- MYSQL_DATABASE=${NEXTCLOUD_DATABASE:?}
|
||||||
|
- MYSQL_USER=${DATABASE_USER:?}
|
||||||
|
- MYSQL_HOST=nextcloud-db
|
||||||
|
- REDIS_HOST=nextcloud-redis
|
||||||
|
|
||||||
|
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN:?}
|
||||||
|
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_PASSWORD:?}
|
||||||
|
- NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN:?}
|
||||||
|
depends_on:
|
||||||
|
- nextcloud-db
|
||||||
|
- nextcloud-redis
|
||||||
networks:
|
networks:
|
||||||
- cloud_network
|
- cloud_network
|
||||||
|
- private_cloud_network
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
cloud_network:
|
cloud_network:
|
||||||
name: cloud_network
|
name: cloud_network
|
||||||
driver: bridge
|
driver: bridge
|
||||||
|
private_cloud_network:
|
||||||
|
name: private_cloud_network
|
||||||
|
driver: bridge
|
||||||
|
|||||||
5
disk/.env.example
Normal file
5
disk/.env.example
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
SHARED_FOLDER=/path/to/folder
|
||||||
|
USER_ID=1000
|
||||||
|
GROUP_ID=1000
|
||||||
|
ADMIN_USER=admin
|
||||||
|
ADMIN_PASSWORD=password # Минимальная длинна 12 символов
|
||||||
40
disk/docker-compose.yml
Normal file
40
disk/docker-compose.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
services:
|
||||||
|
filebrowser:
|
||||||
|
image: docker.io/filebrowser/filebrowser:latest
|
||||||
|
container_name: filebrowser
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
# Папка с вашими файлами (замените /path/to/your/files на реальный путь)
|
||||||
|
- ${SHARED_FOLDER}:/srv
|
||||||
|
# База данных настроек и пользователей
|
||||||
|
- ./filebrowser.db:/database/filebrowser.db
|
||||||
|
# (Опционально) Конфигурационный файл
|
||||||
|
# - ./settings.json:/config/settings.json
|
||||||
|
environment:
|
||||||
|
- PUID=${USER_ID:?}
|
||||||
|
- PGID=${GROUP_ID:?}
|
||||||
|
entrypoint: ["/bin/sh", "-c"]
|
||||||
|
command:
|
||||||
|
- |
|
||||||
|
if [ ! -s /database/filebrowser.db ]; then
|
||||||
|
filebrowser config init --database /database/filebrowser.db
|
||||||
|
filebrowser config set --auth.method=json --database /database/filebrowser.db
|
||||||
|
fi
|
||||||
|
filebrowser config set --root /srv --database /database/filebrowser.db
|
||||||
|
filebrowser users add ${ADMIN_USER:?} ${ADMIN_PASSWORD:?} --perm.admin --scope "." --database /database/filebrowser.db || \
|
||||||
|
filebrowser users update ${ADMIN_USER:?} --password ${ADMIN_PASSWORD:?} --scope "." --database /database/filebrowser.db
|
||||||
|
filebrowser --database /database/filebrowser.db --address 0.0.0.0 --port 8080 --root /srv
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '1.0'
|
||||||
|
memory: 512M
|
||||||
|
reservations:
|
||||||
|
memory: 256M
|
||||||
|
networks:
|
||||||
|
- disk_network
|
||||||
|
|
||||||
|
networks:
|
||||||
|
disk_network:
|
||||||
|
name: disk_network
|
||||||
|
driver: bridge
|
||||||
BIN
disk/filebrowser.db
Normal file
BIN
disk/filebrowser.db
Normal file
Binary file not shown.
@@ -23,10 +23,11 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- proxy_network
|
- proxy_network
|
||||||
- gitea_network
|
- gitea_network
|
||||||
- cloud_network
|
- disk_network
|
||||||
- matrix_network
|
- matrix_network
|
||||||
- memos_network
|
- memos_network
|
||||||
- homepage_network
|
- homepage_network
|
||||||
|
- cloud_network
|
||||||
|
|
||||||
certbot:
|
certbot:
|
||||||
image: docker.io/certbot/certbot
|
image: docker.io/certbot/certbot
|
||||||
@@ -73,9 +74,9 @@ networks:
|
|||||||
gitea_network:
|
gitea_network:
|
||||||
external: true
|
external: true
|
||||||
name: gitea_network
|
name: gitea_network
|
||||||
cloud_network:
|
disk_network:
|
||||||
external: true
|
external: true
|
||||||
name: cloud_network
|
name: disk_network
|
||||||
matrix_network:
|
matrix_network:
|
||||||
external: true
|
external: true
|
||||||
name: matrix_network
|
name: matrix_network
|
||||||
@@ -85,3 +86,6 @@ networks:
|
|||||||
homepage_network:
|
homepage_network:
|
||||||
external: true
|
external: true
|
||||||
name: homepage_network
|
name: homepage_network
|
||||||
|
cloud_network:
|
||||||
|
external: true
|
||||||
|
name: cloud_network
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
server {
|
server {
|
||||||
listen 80 default_server;
|
listen 80 default_server;
|
||||||
listen [::]:80 default_server;
|
listen [::]:80 default_server;
|
||||||
server_name domain.ru www.domain.ru git.domain.ru cloud.domain.ru m.domain.ru chat.domain.ru;
|
server_name domain.ru www.domain.ru git.domain.ru disk.domain.ru cloud.domain.ru m.domain.ru chat.domain.ru todo.domain.ru draw.domain.ru;
|
||||||
|
|
||||||
location /.well-known/acme-challenge/ {
|
location /.well-known/acme-challenge/ {
|
||||||
root /var/www/certbot;
|
root /var/www/certbot;
|
||||||
@@ -55,13 +55,13 @@ server {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# 4. Cloud
|
# 4. Disk
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name cloud.domain.ru;
|
server_name disk.domain.ru;
|
||||||
|
|
||||||
ssl_certificate /etc/letsencrypt/live/cloud.domain.ru/fullchain.pem;
|
ssl_certificate /etc/letsencrypt/live/disk.domain.ru/fullchain.pem;
|
||||||
ssl_certificate_key /etc/letsencrypt/live/cloud.domain.ru/privkey.pem;
|
ssl_certificate_key /etc/letsencrypt/live/disk.domain.ru/privkey.pem;
|
||||||
|
|
||||||
client_max_body_size 0;
|
client_max_body_size 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user