diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..d4faa38 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "homepage/src"] + path = homepage/src + url = https://github.com/StepanovPlaton/AboutMe diff --git a/homepage/.env.example b/homepage/.env.example new file mode 100644 index 0000000..ffa0720 --- /dev/null +++ b/homepage/.env.example @@ -0,0 +1,2 @@ +OAUTH_GITHUB_CLIENT_ID= +OAUTH_GITHUB_CLIENT_SECRET= diff --git a/homepage/docker-compose.yml b/homepage/docker-compose.yml new file mode 100644 index 0000000..745c194 --- /dev/null +++ b/homepage/docker-compose.yml @@ -0,0 +1,18 @@ +services: + homepage: + container_name: homepage + restart: always + build: + context: src + args: + - OAUTH_GITHUB_CLIENT_ID=${OAUTH_GITHUB_CLIENT_ID:?} + - OAUTH_GITHUB_CLIENT_SECRET=${OAUTH_GITHUB_CLIENT_SECRET:?} + environment: + - NODE_ENV=production + networks: + - homepage_network + +networks: + homepage_network: + driver: bridge + name: homepage_network diff --git a/homepage/src b/homepage/src new file mode 160000 index 0000000..bc4cd21 --- /dev/null +++ b/homepage/src @@ -0,0 +1 @@ +Subproject commit bc4cd21771d37d5bb38d00aded012ef2691de9d0 diff --git a/memos/.env.example b/memos/.env.example new file mode 100644 index 0000000..c76ded2 --- /dev/null +++ b/memos/.env.example @@ -0,0 +1 @@ +MEMOS_URL=https://todo.domain.ru diff --git a/memos/docker-compose.yml b/memos/docker-compose.yml new file mode 100644 index 0000000..0c29c55 --- /dev/null +++ b/memos/docker-compose.yml @@ -0,0 +1,16 @@ +services: + memos: + image: docker.io/neosmemo/memos:stable + container_name: memos + restart: always + volumes: + - ./memos:/var/opt/memos + environment: + - MEMOS_INSTANCE_URL=${MEMOS_URL:?} + networks: + - memos_network + +networks: + memos_network: + name: memos_network + driver: bridge diff --git a/memos/memos/memos_prod.db b/memos/memos/memos_prod.db new file mode 100644 index 0000000..12ac8b2 Binary files /dev/null and b/memos/memos/memos_prod.db differ diff --git a/memos/memos/memos_prod.db-shm b/memos/memos/memos_prod.db-shm new file mode 100644 index 0000000..fe9ac28 Binary files /dev/null and b/memos/memos/memos_prod.db-shm differ diff --git a/memos/memos/memos_prod.db-wal b/memos/memos/memos_prod.db-wal new file mode 100644 index 0000000..e69de29 diff --git a/proxy/ddns/domains.txt.example b/proxy/ddns/domains.txt.example index b188ce2..c234540 100644 --- a/proxy/ddns/domains.txt.example +++ b/proxy/ddns/domains.txt.example @@ -5,3 +5,4 @@ git cloud matrix chat +todo diff --git a/proxy/docker-compose.yml b/proxy/docker-compose.yml index dad057e..d13f455 100644 --- a/proxy/docker-compose.yml +++ b/proxy/docker-compose.yml @@ -25,6 +25,8 @@ services: - gitea_network - cloud_network - matrix_network + - memos_network + - homepage_network certbot: image: docker.io/certbot/certbot @@ -77,3 +79,9 @@ networks: matrix_network: external: true name: matrix_network + memos_network: + external: true + name: memos_network + homepage_network: + external: true + name: homepage_network diff --git a/proxy/nginx/conf.d/default.conf.example b/proxy/nginx/conf.d/default.conf.example index ae7d281..a540573 100644 --- a/proxy/nginx/conf.d/default.conf.example +++ b/proxy/nginx/conf.d/default.conf.example @@ -23,10 +23,13 @@ server { ssl_certificate /etc/letsencrypt/live/domain.ru/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem; + location / { - charset utf-8; - default_type text/plain; - return 200 "Hello world!"; + proxy_pass http://homepage:4321; + 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; } } @@ -38,6 +41,11 @@ server { ssl_certificate /etc/letsencrypt/live/git.domain.ru/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/git.domain.ru/privkey.pem; + # Меняем домашнюю страницу на страницу админа + location = / { + return 301 /username; + } + location / { proxy_pass http://gitea:3000; proxy_set_header Host $host; @@ -101,3 +109,22 @@ server { client_max_body_size 50M; } } + +# Memos +server { + listen 443 ssl; + server_name todo.domain.ru; + + ssl_certificate /etc/letsencrypt/live/todo.domain.ru/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/todo.domain.ru/privkey.pem; + + location / { + proxy_pass http://memos:5230; + 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; + + client_max_body_size 50M; + } +}