Chuyển đến nội dung chính

Deployments guides

Docker

Cài đặt và cấu hình các phụ thuộc

MySQL

Nếu bạn dự định sử dụng SQLite, vui lòng bỏ qua bước này.
Để cài đặt các tệp máy chủ MySQL, hãy chạy lệnh sau:
sudo apt update && sudo apt install mysql-server
Để khởi động dịch vụ MySQL:
sudo systemctl start mysql.service
Hãy đặt mật khẩu cho người dùng root của MySQL. Kết nối tới MySQL:
sudo mysql
Sử dụng lệnh sau để tạo người dùng và mật khẩu:
mysql> ALTER USER "locker_secrets"@"%" IDENTIFIED WITH mysql_native_password BY "password";
Bây giờ hãy tạo cơ sở dữ liệu với cùng tên:
mysql> CREATE DATABASE locker_secrets;
Và cấp quyền cho người dùng trên cơ sở dữ liệu đó:
mysql> GRANT ALL PRIVILEGES ON locker_secrets.* TO 'locker_secrets'@'%';

Nginx

Để tải Nginx, chạy lệnh sau:
sudo apt update && sudo apt install nginx

Running the Locker Secrets API

Tạo một thư mục để triển khai ứng dụng Locker Secrets API:
mkdir locker_api && cd locker_api
Viết tệp .env với nội dung bên dưới:
PROD_ENV=prod
DJANGO_SECRET_KEY=[YOUR_DJANGO_SECRET_KEY]
Nếu bạn chọn SQLite làm cơ sở dữ liệu, bạn cần gắn kết thư mục để tránh mất dữ liệu sau khi khởi động lại container:
mkdir db
Chạy lệnh Docker, thay thế api_portweb_socket_port bằng các giá trị tùy chỉnh:
docker run --env-file .env -p 127.0.0.1:[api_port]:[api_port] --restart always cystack/locker-secrets-api
Cấu hình Nginx và HTTPS: Tạo một tệp có tên là api trong thư mục /etc/nginx/sites-enabled với nội dung sau đây:
server {
    listen       [nginx_port] ssl;
    server_name  [locker_secrets_api_domain];

    ssl_certificate     /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://127.0.0.1:[api_port];
    }
}
Tái khởi động Nginx service:
sudo service nginx restart
Bây giờ API Locker Secrets đã hoạt động tại https://locker_secrets_api_domain:[nginx_port].

Running the Locker Secrets Web

Tạo một thư mục để triển khai ứng dụng Locker Secrets Web:
mkdir locker_web && cd locker_web
Viết tệp .env với nội dung bên dưới:
REACT_APP_API_URL=https://[locker_secrets_api_domain]:[nginx_port]
Chạy lệnh Docker, thay thế web_port bằng một giá trị tùy chỉnh:
docker run --env-file .env --restart always -p 127.0.0.1:[web_port]:[web_port] cystack/locker-secrets-web
Cấu hình Nginx và HTTPS: Tạo một tệp có tên là web trong thư mục /etc/nginx/sites-enabled với nội dung sau đây:
server {
    listen       [nginx_port] ssl;
    server_name  [locker_secrets_web_domain];

    ssl_certificate     /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://127.0.0.1:[web_port];
    }
}
Tái khởi động Nginx service:
sudo service nginx restart
Bây giờ Locker Secrets Web đã hoạt động tại https://locker_secrets_web_domain:[nginx_port].

docker-compose

Chạy tất cả các thành phần của Locker Secrets cùng một lúc

Tạo một thư mục để triển khai Locker Secrets:
mkdir locker_secrets && cd locker_secrets
Viết một tệp docker-compose.yml với nội dung sau. Hãy đảm bảo rằng bạn thay thế các giá trị như Locker Secrets domain, MySQL passwords, Nginx API port và Nginx web port bằng các giá trị thích hợp:
services:
  web:
    image: cystack/locker-secrets-web
    environment:
      REACT_APP_API_URL: "https://locker_secrets_domain"
      REACT_APP_WS_URL: "wss://locker_secrets_domain/ws/sync"
    depends_on:
      nginx:
        condition: service_started
  api:
    image: cystack/locker-secrets-api
    environment:
      PROD_ENV: "prod"
      DJANGO_SECRET_KEY: "[YOUR_DJANGO_SECRET_KEY]"
Tạo một thư mục với tên là conf và một tệp default.conf trong thư mục đó:
mkdir conf && touch conf/default.conf
Nội dung của default.conf:
server {
    listen       [nginx_port] ssl;
    server_name  [locker_secrets_domain];

    ssl_certificate     /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;

    location / {
        proxy_pass http://web:[web_port];
    }

    location /api {
        proxy_pass http://api:[api_port];
    }
}
Hãy tạo một thư mục có tên là ssl, di chuyển tệp chứa chứng chỉ (cert file) và khóa (key file) của bạn vào đó. Sau đó, bắt đầu tất cả các dịch vụ cùng một lúc:
docker-compose up -d
Bây giờ bạn có thể truy cập vào https://your_domain_or_ip:web_port để xem giao diện người dùng đồ họa của Locker Secrets Web.