From e33cbebcf32218738fa6eee97c990469d2e98d5e Mon Sep 17 00:00:00 2001 From: "andrei.ivnitskii@t-systems.com" Date: Tue, 25 Jun 2024 14:11:06 +0200 Subject: [PATCH] add Synology and Docker documentation --- docs/Docker_install.md | 11 +++ docs/Synology_install.md | 121 +++++++++++++++++++++++++++++++ docs/synology/.env | 25 +++++++ docs/synology/docker-compose.yml | 56 ++++++++++++++ docs/synology/spk.tgz | Bin 0 -> 65041 bytes docs/synology/update.sh | 40 ++++++++++ 6 files changed, 253 insertions(+) create mode 100644 docs/Docker_install.md create mode 100644 docs/Synology_install.md create mode 100644 docs/synology/.env create mode 100644 docs/synology/docker-compose.yml create mode 100644 docs/synology/spk.tgz create mode 100644 docs/synology/update.sh diff --git a/docs/Docker_install.md b/docs/Docker_install.md new file mode 100644 index 00000000..2e30cfaf --- /dev/null +++ b/docs/Docker_install.md @@ -0,0 +1,11 @@ +# Docker installation + +> To do that you need previously install [Docker](https://docs.docker.com/get-docker/) on your system. + +To quick Dawarich install run Docker-compose from project root folder +```shell +docker-compose up +``` +This command use [docker-compose.yml](../docker-compose.yml) to build your local environment. + +When this command done successfully and all services in containers will start you can open Dawarich web UI by this link [http://127.0.0.1:3000](http://127.0.0.1:3000). diff --git a/docs/Synology_install.md b/docs/Synology_install.md new file mode 100644 index 00000000..8baae729 --- /dev/null +++ b/docs/Synology_install.md @@ -0,0 +1,121 @@ +# Preparation + +## Container manager +Firstly you need install [Container manager](https://www.synology.com/en-global/dsm/feature/container-manager) on your DSM. + +- Open Synology DSM web UI. +- In the main menu open **Package Center**. +- Search **Container Manager** in the "open source" section. +- Install that. + +## Web station +Do same for [Web station](https://www.synology.com/en-global/dsm/packages/WebStation) packet. + +## Project folder preparation + +### Docker root share +If you don't yet have separated share for docker projects would be good to create it. + +If you don't want to use dedicated share for projects installed by docker skip it and go to next chapter. + +- Open **Control panel** -> **Shared folder** -> **Create** -> **Create shared folder** +- Set name, for example **docker**, and location. +- Check **Hide this shared folder in "My Network Places"**. This hide this folder from listening by smb, afp, ftp shares. +- Click **Next** several times until you see **Configure user permissions** window. +- Check **Read/write** access for your user and **No Access** for all another. + +### Dawarich root folder +1. Open your [Docker root folder](#docker-root-share) in **File station**. +2. Create new folder **dawarich** and open it. +3. Create folders **redis**, **db_data**, **db_shared**, **gem_cache** and **gem_cache** in **dawarich** folder. +4. Copy [docker compose](synology/docker-compose.yml) and [.env](synology/.env) files form **synology** repo folder into **dawarich** folder on your synology. + +# Installation + +## Project create +1. Open **Container Manager** -> **Projects** -> **Create** +2. In **create project window**. + 1. Set **project name** as you wish. + 2. Set **path** to [Dawarich root folder](#dawarich-root-folder). + 1. DSM ask about existed docker compose file, choose **use existing an docker-compose.yml to create the project**. + 3. Click **Next**. + 4. Check **Set up web portal via Web Station**. + 1. Select container name, port and **http** protocol (not https). + 5. Click "Next". + 6. Uncheck **Start the project once it is created**. + 7. Click "Done". +3. In popup "dawarich has been created. Go to Web Station to configure the web portal for the container." click "OK". **Web station** Portal Creation Wizard will be opened. +4. Set **portal type** to **Name-based**. +5. Set **hostname** as your wish. For example if your DSM have hostname **my-syno.com**, you can use **dawarich.my-syno.com**. +6. Check **HTTPS settings - HSTS** + >I expected that you have configured certificate in DSM . See **Control panel** -> **Security** -> **Certificate**. For example previously you configured **QuickConnect** or **DynDNS** (DDNS). See **Control panel** -> **External Access** +7. Click **Create**. + +## Configuration +### DNS +On your local DNS server you need to add new record with `dawarich.my-syno.com` and ip address of Synology (see **Control panel** -> **Network** -> **Network Interface** in your DSM) to provide correct access to Dawarich, or just use wildcard `*.my-syno.com` record to resolve all subdomains `my-syno.com` to Synology ip. + +Please read documentation of your DNS server understand how to do it. + +If you don't yet have DNS server you can install [Synology DNS](https://www.synology.com/en-global/dsm/packages/DNSServer) . +>Don't forget to reconfigure your DHCP server or all device settings in your local network to use this DNS server. + +### Dawarich +1. Open /[Docker root folder](#docker-root-share)/[Dawarich root folder](#dawarich-root-folder)/.env file in any text editor. For example, you can use [Text editor](https://www.synology.com/en-global/dsm/packages/TextEditor) package or download it from **File station**, edit locally and upload it back, or get access by file share. +2. Change `APPLICATION_HOST` value to your **Dawarich hostname** that you set in **Web station**. In example above **dawarich.my-syno.com**. +3. Set your current `TIME_ZONE`. Full list [here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). See column **TZ identifier** +4. Set `MAP_CENTER`. This is your default location. Open Google Maps, click to random point and copy coordinates from popup or address line. +5. Optionally change `DATABASE_USERNAME`, `DATABASE_USERNAME`, `DATABASE_NAME`. + +6. Click on name of your project. +7. Open **YAML Configurations** tab. + +# Run +1. Open **Container Manager** -> **Projects** ->**dawarich** +2. In top right corner click **Action** -> **Build** +3. Wait until popup writes that all done and wait a few minutes more until all apps in containers starts. +4. Open it by your hostname. In this example https://dawarich.my-syno.com + +# Link in the Main menu +There two possible options: +1. With **Web station**. But you will have default web station icon. +2. With custom application for **Package Center**. +## Web station +- Open **Web station** -> **Web Portal** -> **dawarich (project)**. +- Check **Create shortcut on main menu** and set link name. + +## Custom application +Synology allows you to create custom application and install them by **Package Center** +[Here](https://github.com/vletroye/Mods) you can find tool that creates dummy application only with icon on main menu. +You can use this tool and create your own app, or use prepared one in this repo. But you need to change url to Dawarich inside it. + +- Edit `update.sh` from `synology` folder. And in the first lines set correct values for `author` and `URL`. +- Run `update.sh`. When script finish you will see the `spk` and `Dawarich.spk` in the same folder. + +If you don't have linux console you can create temporal docker project to generate spk package. +- Create new folder in [Docker root folder](#docker-root-share). +- Create subfolder `app` and copy `update.sh` and `spk.tgz` into this subfolder. +- Open **Container Manager** -> **Projects** -> **Create**. +- Set any name, set newly created folder and set **Create docker-compose.yml**. +- Copy text below to text field. +```yaml +name: spk-template + +services: + spk-template: + container_name: spk-template + image: alpine + restart: unless-stopped + working_dir: /app + volumes: + - ./app:/app + command: + - /app/update.sh +``` +- Click **Next**, **Next**, **Done** +- Container should run and finish automatically. +- After that you can see `spk` and `Dawarich.spk` in the `app` folder. + + +- Check `url` in `spk/package/ui/config` file and `maintainer` and `distributor` in `spk/INFO` file. +- Open **Package Center**, click to **Manual Install**,select `Dawarich.spk`, agree with security notice, and install it. \ No newline at end of file diff --git a/docs/synology/.env b/docs/synology/.env new file mode 100644 index 00000000..48273f26 --- /dev/null +++ b/docs/synology/.env @@ -0,0 +1,25 @@ +################################################################################### +# Dawarich +################################################################################### + +RAILS_ENV=development +MIN_MINUTES_SPENT_IN_CITY=60 +APPLICATION_HOST=dawarich.djhrum.synology.me +TIME_ZONE=Europe/Berlin +BACKGROUND_PROCESSING_CONCURRENCY=10 +MAP_CENTER=[52.520826, 13.409690] + +################################################################################### +# Database +################################################################################### + +DATABASE_HOST=dawarich_db +DATABASE_USERNAME=postgres +DATABASE_PASSWORD=password +DATABASE_NAME=dawarich + +################################################################################### +# Redis +################################################################################### + +REDIS_URL=redis://dawarich_redis:6379/0 diff --git a/docs/synology/docker-compose.yml b/docs/synology/docker-compose.yml new file mode 100644 index 00000000..6a9f14ed --- /dev/null +++ b/docs/synology/docker-compose.yml @@ -0,0 +1,56 @@ +version: '3' + +services: + dawarich_redis: + image: redis:7.0-alpine + container_name: dawarich_redis + command: redis-server + restart: unless-stopped + volumes: + - ./redis:/var/shared/redis + + dawarich_db: + image: postgres:14.2-alpine + container_name: dawarich_db + restart: unless-stopped + environment: + POSTGRES_USER: ${DATABASE_USERNAME} + POSTGRES_PASSWORD: ${DATABASE_PASSWORD} + volumes: + - ./db_data:/var/lib/postgresql/data + - ./db_shared:/var/shared + + dawarich_app: + image: freikin/dawarich:latest + container_name: dawarich_app + depends_on: + - dawarich_db + - dawarich_redis + stdin_open: true + tty: true + entrypoint: dev-entrypoint.sh + command: ['bin/dev'] + restart: unless-stopped + env_file: + - .env + volumes: + - ./gem_cache:/usr/local/bundle/gems + - ./public:/var/app/public + ports: + - 32568:3000 + + dawarich_sidekiq: + image: freikin/dawarich:latest + container_name: dawarich_sidekiq + depends_on: + - dawarich_db + - dawarich_redis + - dawarich_app + entrypoint: dev-entrypoint.sh + command: ['sidekiq'] + restart: unless-stopped + env_file: + - .env + volumes: + - ./gem_cache:/usr/local/bundle/gems + - ./public:/var/app/public diff --git a/docs/synology/spk.tgz b/docs/synology/spk.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dfe9fd5fe9cd319b9055b8a5ea1e3f17bc200250 GIT binary patch literal 65041 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 O@_ztSo>sL0XaNAglJ=_r literal 0 HcmV?d00001 diff --git a/docs/synology/update.sh b/docs/synology/update.sh new file mode 100644 index 00000000..8079fa3b --- /dev/null +++ b/docs/synology/update.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +author="your name" +URL="https://your.dawarich.domain.com" + + +if [[ -d spk ]] +then + rm -rf spk +fi + +if [[ -f Dawarich.spk ]] +then + rm -rf Dawarich.spk +fi + +tar -xf spk.tgz + +if [[ -f package.tgz ]] +then + rm -f package.tgz +fi + +sed -i "s/maintainer=\"\"/maintainer=\"${author}\"/" spk/INFO +sed -i "s/distributor=\"\"/distributor=\"${author}\"/" spk/INFO +sed -i "s|https://dawarich.my-syno.com|${URL}|" spk/package/ui/config + +cd spk/package + +tar -czf ../package.tgz * + +cd .. + +sum=$(md5sum package.tgz | cut -f1 -d" ") + +sed -i "s/checksum=\"\"/checksum=\"${sum}\"/" INFO + +tar -cf ../Dawarich.spk package.tgz conf scripts INFO PACKAGE_ICON*.PNG + +cd ..