Files
trilium-docker/README.md
2026-02-28 21:56:23 +00:00

94 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Trilium note on docker compose
### `note.domain.com` указан как пример
### Up memos server note on docker
### После установки докера и докер compose
### 1. Создадим папку для проекта
```
mkdir -p /etc/docker/note
cd /etc/docker/note
```
### 2. Создаем `docker-compose.yml` и поднимаем контейнер
```
nano docker-compose.yml
```
#### Cодержимое `docker-compose.yml`
```yml
# Running `docker-compose up` will create/use the "trilium-data" directory in the user home
# Run `TRILIUM_DATA_DIR=/path/of/your/choice docker-compose up` to set a different directory
# To run in the background, use `docker-compose up -d`
services:
trilium:
# Optionally, replace `latest` with a version tag like `v0.90.3`
# Using `latest` may cause unintended updates to the container
image: triliumnext/notes:latest
# Restart the container unless it was stopped by the user
restart: unless-stopped
environment:
- TRILIUM_DATA_DIR=/home/node/trilium-data
ports:
# By default, Trilium will be available at http://localhost:8080
# It will also be accessible at http://<host-ip>:8080
# You might want to limit this with something like Docker Networks, reverse proxies, or firewall rules,
# however be aware that using UFW is known to not work with default Docker installations, see:
# https://docs.docker.com/engine/network/packet-filtering-firewalls/#docker-and-ufw
- '127.0.0.1:8996:8080'
volumes:
# Unless TRILIUM_DATA_DIR is set, the data will be stored in the "trilium-data" directory in the home directory.
# This can also be changed with by replacing the line below with `- /path/of/your/choice:/home/node/trilium-data
- ${TRILIUM_DATA_DIR:-~/trilium-data}:/home/node/trilium-data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
```
#### Поднимаем контейнер через команду `docker compose up -d` так же смотрим статус контейнера ниже пример того чего мы должны увидеть
```bash
root@server-gw-git:/etc/docker/memos# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fe6dd6a498c0 triliumnext/notes:latest "docker-entrypoint.s…" 24 hours ago Up 24 hours (healthy) 127.0.0.1:8996->8080/tcp notes-test-trilium-1
root@server-gw-git:/etc/docker/memos#
```
### 3. Настраиваем nginx т.к безопаснее будет заходить на сайт по домен
##### Если у вас не установлен `nginx` и `certbot` то устанавливаем и включаем
```
apt install certbot python3-certbot-nginx nginx
systemctl enable --now nginx
```
##### Настройка самого nginx
##### Создаем файл
```
nano /etc/nginx/sites-available/note.domain.com
```
#### Содержимое файла `note.domain.com`
```
server {
server_name note.domain.com;
location / {
client_max_body_size 512M;
proxy_pass http://127.0.0.1:8996;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
}
}
```
### 4. Обязательно делаем ссылку без нее не будет работать и перезапускаем nginx
```bash
ln -s /etc/nginx/sites-available/note.domain.com /etc/nginx/sites-enabled/
systemctl restart nginx
```
### 5. Получение сертификата
Пишем команду `certbot --nginx -d note.domain.com` после этого вы можете переходить на доменное имя `note.domain.com`
И перезапускаем nginx
```bash
systemctl restart nginx
```