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:
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:
Chạy lệnh Docker, thay thế api_port và web_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:
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.