Added README.md

This commit is contained in:
2025-12-03 11:28:41 +01:00
parent 6a4c1965c8
commit d6ae32fd38

639
README.md
View File

@@ -11,9 +11,9 @@ This guide provides a quick overview of setting up a server with Fast, including
# Getting Started # Getting Started
```bash ```bash
git clone https://git.nxs.solutions/Fast/setup.git fast_setup git clone https://git.nxs.solutions/Fast/setup.git fast_setup
cd fast_setup cd fast_setup
./setup.sh # Start the setup and follow the prompts ./setup.sh # Start the setup and follow the prompts
``` ```
#### Persmissions #### Persmissions
@@ -21,8 +21,8 @@ This guide provides a quick overview of setting up a server with Fast, including
As Fast will install third party software, you may be prompted to enter your password for sudo permissions during the setup process. As Fast will install third party software, you may be prompted to enter your password for sudo permissions during the setup process.
```bash ```bash
./setup.sh ./setup.sh
$[sudo] password for $USER: ******** [sudo] password for user: ********
``` ```
### Docker Installation ### Docker Installation
@@ -30,34 +30,34 @@ As Fast will install third party software, you may be prompted to enter your pas
If Docker is not already installed on your server, the setup script will guide you through the installation process. Follow the prompts to install Docker and Docker Compose. This is based on the official Docker installation guide found at [Docker Docs](https://docs.docker.com/engine/install/). If Docker is not already installed on your server, the setup script will guide you through the installation process. Follow the prompts to install Docker and Docker Compose. This is based on the official Docker installation guide found at [Docker Docs](https://docs.docker.com/engine/install/).
```bash ```bash
Docker you want to set up Docker (Y/n)?: Docker you want to set up Docker (Y/n)?:
Types: deb Types: deb
URIs: https://download.docker.com/linux/debian URIs: https://download.docker.com/linux/debian
Suites: trixie Suites: trixie
Components: stable Components: stable
Signed-By: /etc/apt/keyrings/docker.asc Signed-By: /etc/apt/keyrings/docker.asc
Hit:1 https://download.docker.com/linux/debian trixie InRelease Hit:1 https://download.docker.com/linux/debian trixie InRelease
Hit:2 http://deb.debian.org/debian trixie InRelease Hit:2 http://deb.debian.org/debian trixie InRelease
Hit:3 http://deb.debian.org/debian trixie-updates InRelease Hit:3 http://deb.debian.org/debian trixie-updates InRelease
Hit:4 http://deb.debian.org/debian trixie-backports InRelease Hit:4 http://deb.debian.org/debian trixie-backports InRelease
Hit:5 http://mirror.hetzner.com/debian/packages trixie InRelease Hit:5 http://mirror.hetzner.com/debian/packages trixie InRelease
Hit:6 http://deb.debian.org/debian-security trixie-security InRelease Hit:6 http://deb.debian.org/debian-security trixie-security InRelease
Hit:7 http://mirror.hetzner.com/debian/packages trixie-updates InRelease Hit:7 http://mirror.hetzner.com/debian/packages trixie-updates InRelease
Hit:8 https://deb.nodesource.com/node_25.x nodistro InRelease Hit:8 https://deb.nodesource.com/node_25.x nodistro InRelease
Hit:9 http://mirror.hetzner.com/debian/packages trixie-backports InRelease Hit:9 http://mirror.hetzner.com/debian/packages trixie-backports InRelease
Hit:10 http://mirror.hetzner.com/debian/security trixie-security InRelease Hit:10 http://mirror.hetzner.com/debian/security trixie-security InRelease
All packages are up to date. All packages are up to date.
Warning: https://deb.nodesource.com/node_25.x/dists/nodistro/InRelease: Policy will reject signature within a year, see --audit for details Warning: https://deb.nodesource.com/node_25.x/dists/nodistro/InRelease: Policy will reject signature within a year, see --audit for details
Summary: Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0 Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
docker-ce is already the newest version (5:29.1.2-1~debian.13~trixie). docker-ce is already the newest version (5:29.1.2-1~debian.13~trixie).
docker-ce-cli is already the newest version (5:29.1.2-1~debian.13~trixie). docker-ce-cli is already the newest version (5:29.1.2-1~debian.13~trixie).
containerd.io is already the newest version (2.2.0-2~debian.13~trixie). containerd.io is already the newest version (2.2.0-2~debian.13~trixie).
docker-buildx-plugin is already the newest version (0.30.1-1~debian.13~trixie). docker-buildx-plugin is already the newest version (0.30.1-1~debian.13~trixie).
docker-compose-plugin is already the newest version (2.40.3-1~debian.13~trixie). docker-compose-plugin is already the newest version (2.40.3-1~debian.13~trixie).
Summary: Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0 Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Docker has been installed and configured. Docker has been installed and configured.
``` ```
### UFW Firewall Configuration ### UFW Firewall Configuration
@@ -66,52 +66,52 @@ To set up UFW (Uncomplicated Firewall) on your server to work correctly with doc
During setup you will be asked to install and configure UFW if not already installed, add the after.rules file to the UFW configuration, setup base port rules, and enable UFW. If you manager your firewall manually, you can skip this step. During setup you will be asked to install and configure UFW if not already installed, add the after.rules file to the UFW configuration, setup base port rules, and enable UFW. If you manager your firewall manually, you can skip this step.
```bash ```bash
Do you want to set up UFW (Uncomplicated Firewall)? (Y/n): Do you want to set up UFW (Uncomplicated Firewall)? (Y/n):
Hit:1 http://deb.debian.org/debian trixie InRelease Hit:1 http://deb.debian.org/debian trixie InRelease
Hit:2 https://download.docker.com/linux/debian trixie InRelease Hit:2 https://download.docker.com/linux/debian trixie InRelease
Hit:3 http://deb.debian.org/debian trixie-updates InRelease Hit:3 http://deb.debian.org/debian trixie-updates InRelease
Hit:4 http://deb.debian.org/debian trixie-backports InRelease Hit:4 http://deb.debian.org/debian trixie-backports InRelease
Hit:5 http://deb.debian.org/debian-security trixie-security InRelease Hit:5 http://deb.debian.org/debian-security trixie-security InRelease
Hit:6 http://mirror.hetzner.com/debian/packages trixie InRelease Hit:6 http://mirror.hetzner.com/debian/packages trixie InRelease
Hit:7 http://mirror.hetzner.com/debian/packages trixie-updates InRelease Hit:7 http://mirror.hetzner.com/debian/packages trixie-updates InRelease
Hit:8 https://deb.nodesource.com/node_25.x nodistro InRelease Hit:8 https://deb.nodesource.com/node_25.x nodistro InRelease
Hit:9 http://mirror.hetzner.com/debian/packages trixie-backports InRelease Hit:9 http://mirror.hetzner.com/debian/packages trixie-backports InRelease
Hit:10 http://mirror.hetzner.com/debian/security trixie-security InRelease Hit:10 http://mirror.hetzner.com/debian/security trixie-security InRelease
All packages are up to date. All packages are up to date.
Warning: https://deb.nodesource.com/node_25.x/dists/nodistro/InRelease: Policy will reject signature within a year, see --audit for details Warning: https://deb.nodesource.com/node_25.x/dists/nodistro/InRelease: Policy will reject signature within a year, see --audit for details
Summary: Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0 Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
ufw is already the newest version (0.36.2-9). ufw is already the newest version (0.36.2-9).
Summary: Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0 Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Skipping adding existing rule Skipping adding existing rule
Skipping adding existing rule (v6) Skipping adding existing rule (v6)
Skipping adding existing rule Skipping adding existing rule
Skipping adding existing rule (v6) Skipping adding existing rule (v6)
Skipping adding existing rule Skipping adding existing rule
Skipping adding existing rule (v6) Skipping adding existing rule (v6)
Skipping adding existing rule Skipping adding existing rule
Skipping adding existing rule (v6) Skipping adding existing rule (v6)
Skipping adding existing rule Skipping adding existing rule
Skipping adding existing rule (v6) Skipping adding existing rule (v6)
Firewall is active and enabled on system startup Firewall is active and enabled on system startup
Status: active Status: active
Logging: on (low) Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed) Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip New profiles: skip
To Action From To Action From
-- ------ ---- -- ------ ----
22/tcp ALLOW IN Anywhere 22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere 443/tcp ALLOW IN Anywhere
2222/tcp ALLOW IN Anywhere 2222/tcp ALLOW IN Anywhere
60000:61000/udp ALLOW IN Anywhere 60000:61000/udp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6) 22/tcp (v6) ALLOW IN Anywhere (v6)
80/tcp (v6) ALLOW IN Anywhere (v6) 80/tcp (v6) ALLOW IN Anywhere (v6)
443/tcp (v6) ALLOW IN Anywhere (v6) 443/tcp (v6) ALLOW IN Anywhere (v6)
2222/tcp (v6) ALLOW IN Anywhere (v6) 2222/tcp (v6) ALLOW IN Anywhere (v6)
60000:61000/udp (v6) ALLOW IN Anywhere (v6) 60000:61000/udp (v6) ALLOW IN Anywhere (v6)
``` ```
## Main installation ## Main installation
@@ -121,32 +121,32 @@ After completing the Docker and UFW setup, the script will proceed to deploy the
Enter the credentials for accessing the Fast repository: Enter the credentials for accessing the Fast repository:
```bash ```bash
Cloning into 'lib'... Cloning into 'lib'...
Username for 'https://git.nxs.solutions': anorien Username for 'https://git.nxs.solutions': anorien
Password for 'https://anorien@git.nxs.solutions': Password for 'https://anorien@git.nxs.solutions':
``` ```
Clone the Fast repository to your desired location: Clone the Fast repository to your desired location:
```bash ```bash
remote: Enumerating objects: 2098, done. remote: Enumerating objects: 2098, done.
remote: Counting objects: 100% (2098/2098), done. remote: Counting objects: 100% (2098/2098), done.
remote: Compressing objects: 100% (1842/1842), done. remote: Compressing objects: 100% (1842/1842), done.
remote: Total 2098 (delta 999), reused 356 (delta 74), pack-reused 0 (from 0) remote: Total 2098 (delta 999), reused 356 (delta 74), pack-reused 0 (from 0)
Receiving objects: 100% (2098/2098), 17.48 MiB | 14.73 MiB/s, done. Receiving objects: 100% (2098/2098), 17.48 MiB | 14.73 MiB/s, done.
Resolving deltas: 100% (999/999), done. Resolving deltas: 100% (999/999), done.
Enter the full path where you want to set up Fast (e.g., /opt/fast): Enter the full path where you want to set up Fast (e.g., /opt/fast):
``` ```
Set up Fast in the specified directory: Set up Fast in the specified directory:
```bash ```bash
Removing .git directory to detach from the original repository... Removing .git directory to detach from the original repository...
FAST_PATH already exists in .bashrc. FAST_PATH already exists in .bashrc.
Overwriting FAST_PATH in .bashrc... Overwriting FAST_PATH in .bashrc...
FAST_PATH updated in .bashrc and sourced. FAST_PATH updated in .bashrc and sourced.
Fast has been set up at /opt/fast Fast has been set up at /opt/fast
``` ```
## Final Configuration ## Final Configuration
@@ -154,120 +154,120 @@ Set up Fast in the specified directory:
To finalize the Fast setup, the script will guide you through configuring your environment variables in the `.env` file. You can choose to have the script prompt you for each sensitive variable or skip the prompts to keep the existing values defined in the template at config/.env.example. This step is crucial for ensuring the security and proper functioning of your Fast installation. To finalize the Fast setup, the script will guide you through configuring your environment variables in the `.env` file. You can choose to have the script prompt you for each sensitive variable or skip the prompts to keep the existing values defined in the template at config/.env.example. This step is crucial for ensuring the security and proper functioning of your Fast installation.
```bash ```bash
Environment file copied to /opt/fast/.env Environment file copied to /opt/fast/.env
Mode: 🟢 Interactive (Will prompt for input) Mode: 🟢 Interactive (Will prompt for input)
--- .env File Security Checker --- --- .env File Security Checker ---
Searching for sensitive variables in .env... Searching for sensitive variables in .env...
----------------------------------- -----------------------------------
⚠️ Sensitive variable found: **RUNPOD_API_KEY** ⚠️ Sensitive variable found: **RUNPOD_API_KEY**
Current value: your_rupod_api_key_here Current value: your_rupod_api_key_here
Enter a new secure value for RUNPOD_API_KEY: lasdf01244a9f1fasf Enter a new secure value for RUNPOD_API_KEY: lasdf01244a9f1fasf
lasdf01244a9f1fasf lasdf01244a9f1fasf
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **TASK_MANAGER_API_KEY** ⚠️ Sensitive variable found: **TASK_MANAGER_API_KEY**
Current value: task_manager_api_key Current value: task_manager_api_key
Enter a new secure value for TASK_MANAGER_API_KEY: this_should_be_my_own_task_manager_apie_key Enter a new secure value for TASK_MANAGER_API_KEY: this_should_be_my_own_task_manager_apie_key
this_should_be_my_own_task_manager_apie_key this_should_be_my_own_task_manager_apie_key
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **SECRET_MANAGER_API_KEY** ⚠️ Sensitive variable found: **SECRET_MANAGER_API_KEY**
Current value: secret_manager_api_key Current value: secret_manager_api_key
Enter a new secure value for SECRET_MANAGER_API_KEY: Enter a new secure value for SECRET_MANAGER_API_KEY:
No input provided. Keeping original value. No input provided. Keeping original value.
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **POSTGRES_USER** ⚠️ Sensitive variable found: **POSTGRES_USER**
Current value: your_postgres_user Current value: your_postgres_user
Enter a new secure value for POSTGRES_USER: postgres Enter a new secure value for POSTGRES_USER: postgres
postgres postgres
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **POSTGRES_PASSWORD** ⚠️ Sensitive variable found: **POSTGRES_PASSWORD**
Current value: your_postgres_password Current value: your_postgres_password
Enter a new secure value for POSTGRES_PASSWORD: PostGresQlPwD Enter a new secure value for POSTGRES_PASSWORD: PostGresQlPwD
PostGresQlPwD PostGresQlPwD
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **ACCESS_MANAGER_API_KEY** ⚠️ Sensitive variable found: **ACCESS_MANAGER_API_KEY**
Current value: access_manager_api_key Current value: access_manager_api_key
Enter a new secure value for ACCESS_MANAGER_API_KEY: Enter a new secure value for ACCESS_MANAGER_API_KEY:
No input provided. Keeping original value. No input provided. Keeping original value.
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **EXOSCALE_API_KEY** ⚠️ Sensitive variable found: **EXOSCALE_API_KEY**
Current value: your_exoscale_api_key_here Current value: your_exoscale_api_key_here
Enter a new secure value for EXOSCALE_API_KEY: Enter a new secure value for EXOSCALE_API_KEY:
No input provided. Keeping original value. No input provided. Keeping original value.
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **STRIPE_SECRET_KEY** ⚠️ Sensitive variable found: **STRIPE_SECRET_KEY**
Current value: your_stripe_api_key_here Current value: your_stripe_api_key_here
Enter a new secure value for STRIPE_SECRET_KEY: Enter a new secure value for STRIPE_SECRET_KEY:
No input provided. Keeping original value. No input provided. Keeping original value.
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **ADMIN_USERNAME** ⚠️ Sensitive variable found: **ADMIN_USERNAME**
Current value: your_admin_username_here Current value: your_admin_username_here
Enter a new secure value for ADMIN_USERNAME: admin Enter a new secure value for ADMIN_USERNAME: admin
admin admin
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **ADMIN_PASSWORD** ⚠️ Sensitive variable found: **ADMIN_PASSWORD**
Current value: your_admin_password_here Current value: your_admin_password_here
Enter a new secure value for ADMIN_PASSWORD: this_is_my_realy_important_admin_pwd Enter a new secure value for ADMIN_PASSWORD: this_is_my_realy_important_admin_pwd
this_is_my_realy_important_admin_pwd this_is_my_realy_important_admin_pwd
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **ADMIN_EMAIL** ⚠️ Sensitive variable found: **ADMIN_EMAIL**
Current value: your_admin@email.com Current value: your_admin@email.com
Enter a new secure value for ADMIN_EMAIL: info@nxs.solution Enter a new secure value for ADMIN_EMAIL: info@nxs.solution
info@nxs.solution info@nxs.solution
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **JWT_SECRET_KEY** ⚠️ Sensitive variable found: **JWT_SECRET_KEY**
Current value: your_jwt_secret_key_here Current value: your_jwt_secret_key_here
Enter a new secure value for JWT_SECRET_KEY: Enter a new secure value for JWT_SECRET_KEY:
No input provided. Keeping original value. No input provided. Keeping original value.
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **SENDER_USER** ⚠️ Sensitive variable found: **SENDER_USER**
Current value: your_smtp_username_here Current value: your_smtp_username_here
Enter a new secure value for SENDER_USER: info@nxs.solutions Enter a new secure value for SENDER_USER: info@nxs.solutions
info@nxs.solutions info@nxs.solutions
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **SENDER_PASSWORD** ⚠️ Sensitive variable found: **SENDER_PASSWORD**
Current value: your_smtp_password_here Current value: your_smtp_password_here
Enter a new secure value for SENDER_PASSWORD: asdasd012ß4iafs9a8r124 Enter a new secure value for SENDER_PASSWORD: asdasd012ß4iafs9a8r124
asdasd012ß4iafs9a8r124 asdasd012ß4iafs9a8r124
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **SENDER_EMAIL** ⚠️ Sensitive variable found: **SENDER_EMAIL**
Current value: your_sender_email_here Current value: your_sender_email_here
Enter a new secure value for SENDER_EMAIL: noreply@nxs.solutions Enter a new secure value for SENDER_EMAIL: noreply@nxs.solutions
noreply@nxs.solutions noreply@nxs.solutions
Action: Manual update applied. Action: Manual update applied.
⚠️ Sensitive variable found: **PERSONAL_API_KEY** ⚠️ Sensitive variable found: **PERSONAL_API_KEY**
Current value: your_personal_api_key_here Current value: your_personal_api_key_here
Enter a new secure value for PERSONAL_API_KEY: Enter a new secure value for PERSONAL_API_KEY:
No input provided. Keeping original value. No input provided. Keeping original value.
Action: Manual update applied. Action: Manual update applied.
--- adding DOCKER_GROUP_ID=989 to .env --- --- adding DOCKER_GROUP_ID=989 to .env ---
--- adding DATA_MANAGER_DB_URL to .env --- --- adding DATA_MANAGER_DB_URL to .env ---
--- Finalizing Update --- --- Finalizing Update ---
✅ All updates applied. The original .env has been overwritten. ✅ All updates applied. The original .env has been overwritten.
``` ```
Now, you can proceed to build the Fast components as per your requirements. Now, you can proceed to build the Fast components as per your requirements.
@@ -275,115 +275,116 @@ Now, you can proceed to build the Fast components as per your requirements.
### Building of components ### Building of components
```bash ```bash
Do you want to start building Fast components now? (Y/n): Do you want to start building Fast components now? (Y/n):
Starting Fast build process in /opt/fast... Starting Fast build process in /opt/fast...
Do you want to build secret_manager? (Y/n):
==> Found component Dockerfile: .docker/secret_manager/Dockerfile
[+] Building 1.2s (11/11) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 328B 0.0s
=> [internal] load metadata for docker.io/library/python:3.13-slim 0.9s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/6] FROM docker.io/library/python:3.13-slim@sha256:7b8dbc09c76ca63fc57dae35f6211d0c8e22cf0ec5509a63e41408a79e323b28 0.0s
=> => resolve docker.io/library/python:3.13-slim@sha256:7b8dbc09c76ca63fc57dae35f6211d0c8e22cf0ec5509a63e41408a79e323b28 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 1.46MB 0.0s
=> CACHED [2/6] WORKDIR /app 0.0s
=> CACHED [3/6] COPY ./.docker/secret_manager/requirements.txt . 0.0s
=> CACHED [4/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [5/6] COPY ./src/Fast ./Fast 0.0s
=> CACHED [6/6] COPY ./webapp . 0.0s
=> exporting to image 0.1s
=> => exporting layers 0.0s
=> => exporting manifest sha256:94d98f2a3c584aab89dd06e142e88ae4b12b6e14b3ad43df40890d797371db10 0.0s
=> => exporting config sha256:7c04c14d05cb8afdd3f7eefaf552d4115c7cfd8f12208f2ba9d6a42169b2b780 0.0s
=> => exporting attestation manifest sha256:610382bb87a7e320facdc5622cfdb511b3fbb64c72a92e39fc0f2061bd2561f5 0.0s
=> => exporting manifest list sha256:62e71951ce5bdc06c941a89a676496dae9abb682745db6b04c1ba380811aef8a 0.0s
=> => naming to docker.io/fast/secret_manager:latest 0.0s
=> => unpacking to docker.io/fast/secret_manager:latest 0.0s
Do you want to build access_manager? (Y/n): Do you want to build secret_manager? (Y/n):
==> Found component Dockerfile: .docker/access_manager/Dockerfile ==> Found component Dockerfile: .docker/secret_manager/Dockerfile
[+] Building 1.7s (11/11) FINISHED docker:default [+] Building 1.2s (11/11) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s => [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 398B 0.0s => => transferring dockerfile: 328B 0.0s
=> [internal] load metadata for docker.io/library/python:3.9-slim 0.2s => [internal] load metadata for docker.io/library/python:3.13-slim 0.9s
=> [internal] load .dockerignore 0.0s => [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s => => transferring context: 2B 0.0s
=> [1/6] FROM docker.io/library/python:3.9-slim@sha256:2d97f6910b16bd338d3060f261f53f144965f755599aab1acda1e13cf1731b1b 0.0s => [1/6] FROM docker.io/library/python:3.13-slim@sha256:7b8dbc09c76ca63fc57dae35f6211d0c8e22cf0ec5509a63e41408a79e323b28 0.0s
=> => resolve docker.io/library/python:3.9-slim@sha256:2d97f6910b16bd338d3060f261f53f144965f755599aab1acda1e13cf1731b1b 0.0s => => resolve docker.io/library/python:3.13-slim@sha256:7b8dbc09c76ca63fc57dae35f6211d0c8e22cf0ec5509a63e41408a79e323b28 0.0s
=> [internal] load build context 0.0s => [internal] load build context 0.1s
=> => transferring context: 14.29kB 0.0s => => transferring context: 1.46MB 0.0s
=> CACHED [2/6] WORKDIR /app 0.0s => CACHED [2/6] WORKDIR /app 0.0s
=> CACHED [3/6] COPY ./.docker/access_manager/requirements.txt . 0.0s => CACHED [3/6] COPY ./.docker/secret_manager/requirements.txt . 0.0s
=> CACHED [4/6] RUN echo "gevent" >> requirements.txt && pip install --no-cache-dir -r requirements.txt 0.0s => CACHED [4/6] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [5/6] COPY ./src/Fast ./Fast 0.0s => CACHED [5/6] COPY ./src/Fast ./Fast 0.0s
=> [6/6] COPY ./webapp . 0.1s => CACHED [6/6] COPY ./webapp . 0.0s
=> exporting to image 1.2s => exporting to image 0.1s
=> => exporting layers 0.2s => => exporting layers 0.0s
=> => exporting manifest sha256:0d5bc19de463465357caa8e4fecb6836c339a058ecd428afc51dffbe4014c875 0.0s => => exporting manifest sha256:94d98f2a3c584aab89dd06e142e88ae4b12b6e14b3ad43df40890d797371db10 0.0s
=> => exporting config sha256:0d49af87af7f6331d138bae959247e1a157f24bf86e69a4974b45b222df1fe98 0.0s => => exporting config sha256:7c04c14d05cb8afdd3f7eefaf552d4115c7cfd8f12208f2ba9d6a42169b2b780 0.0s
=> => exporting attestation manifest sha256:3ea0b6fa104f3c30a383e811e4e57650a609d71bfd33212f55b6fdcfeb780939 0.0s => => exporting attestation manifest sha256:610382bb87a7e320facdc5622cfdb511b3fbb64c72a92e39fc0f2061bd2561f5 0.0s
=> => exporting manifest list sha256:f64953f77103811eeb55f52a850c852f23a212dfd7592f3991da6660e0b6395d 0.0s => => exporting manifest list sha256:62e71951ce5bdc06c941a89a676496dae9abb682745db6b04c1ba380811aef8a 0.0s
=> => naming to docker.io/fast/access_manager:latest 0.0s => => naming to docker.io/fast/secret_manager:latest 0.0s
=> => unpacking to docker.io/fast/access_manager:latest 0.9s => => unpacking to docker.io/fast/secret_manager:latest 0.0s
Do you want to build task_manager? (Y/n): n Do you want to build access_manager? (Y/n):
Skipping build for task_manager. ==> Found component Dockerfile: .docker/access_manager/Dockerfile
[+] Building 1.7s (11/11) FINISHED docker:default
Do you want to build data_manager? (Y/n): n => [internal] load build definition from Dockerfile 0.0s
Skipping build for data_manager. => => transferring dockerfile: 398B 0.0s
=> [internal] load metadata for docker.io/library/python:3.9-slim 0.2s
Do you want to build bill_manager? (Y/n): => [internal] load .dockerignore 0.0s
==> Found component Dockerfile: .docker/bill_manager/Dockerfile => => transferring context: 2B 0.0s
[+] Building 10.1s (10/10) FINISHED docker:default => [1/6] FROM docker.io/library/python:3.9-slim@sha256:2d97f6910b16bd338d3060f261f53f144965f755599aab1acda1e13cf1731b1b 0.0s
=> [internal] load build definition from Dockerfile 0.0s => => resolve docker.io/library/python:3.9-slim@sha256:2d97f6910b16bd338d3060f261f53f144965f755599aab1acda1e13cf1731b1b 0.0s
=> => transferring dockerfile: 303B 0.0s => [internal] load build context 0.0s
=> [internal] load metadata for docker.io/library/python:3.13-slim 0.2s => => transferring context: 14.29kB 0.0s
=> [internal] load .dockerignore 0.0s => CACHED [2/6] WORKDIR /app 0.0s
=> => transferring context: 2B 0.0s => CACHED [3/6] COPY ./.docker/access_manager/requirements.txt . 0.0s
=> [1/5] FROM docker.io/library/python:3.13-slim@sha256:7b8dbc09c76ca63fc57dae35f6211d0c8e22cf0ec5509a63e41408a79e323b28 0.0s => CACHED [4/6] RUN echo "gevent" >> requirements.txt && pip install --no-cache-dir -r requirements.txt 0.0s
=> => resolve docker.io/library/python:3.13-slim@sha256:7b8dbc09c76ca63fc57dae35f6211d0c8e22cf0ec5509a63e41408a79e323b28 0.0s => CACHED [5/6] COPY ./src/Fast ./Fast 0.0s
=> [internal] load build context 0.0s => [6/6] COPY ./webapp . 0.1s
=> => transferring context: 15.45kB 0.0s => exporting to image 1.2s
=> CACHED [2/5] WORKDIR /app 0.0s => => exporting layers 0.2s
=> [3/5] COPY ./.docker/bill_manager/requirements.txt . 0.1s => => exporting manifest sha256:0d5bc19de463465357caa8e4fecb6836c339a058ecd428afc51dffbe4014c875 0.0s
=> [4/5] RUN pip install --no-cache-dir -r requirements.txt 6.5s => => exporting config sha256:0d49af87af7f6331d138bae959247e1a157f24bf86e69a4974b45b222df1fe98 0.0s
=> [5/5] COPY ./src ./Fast 0.1s => => exporting attestation manifest sha256:3ea0b6fa104f3c30a383e811e4e57650a609d71bfd33212f55b6fdcfeb780939 0.0s
=> exporting to image 3.0s => => exporting manifest list sha256:f64953f77103811eeb55f52a850c852f23a212dfd7592f3991da6660e0b6395d 0.0s
=> => exporting layers 2.0s => => naming to docker.io/fast/access_manager:latest 0.0s
=> => exporting manifest sha256:af38308d2076bfab6726117301e300a31b8f8ec803fa3e1777051add83df6e30 0.0s => => unpacking to docker.io/fast/access_manager:latest 0.9s
=> => exporting config sha256:9e72ccdaa28d1567b090fa141584c9c85a4a356e4307ffd9217fbec274e5530c 0.0s
=> => exporting attestation manifest sha256:b61b7782bec7e10c227800a5d1d3147059964a36a2fdd62ac42e6c157f28ea39 0.0s Do you want to build task_manager? (Y/n): n
=> => exporting manifest list sha256:a723f02ce492577530eff3abf55a051259c3dbcb14e51685d53bcdc925ed04b8 0.0s Skipping build for task_manager.
=> => naming to docker.io/fast/bill_manager:latest 0.0s
=> => unpacking to docker.io/fast/bill_manager:latest 0.8s Do you want to build data_manager? (Y/n): n
Do you want to build load_manager? (Y/n): Skipping build for data_manager.
==> Found component Dockerfile: .docker/load_manager/Dockerfile
[+] Building 0.5s (12/12) FINISHED docker:default Do you want to build bill_manager? (Y/n):
=> [internal] load build definition from Dockerfile 0.0s ==> Found component Dockerfile: .docker/bill_manager/Dockerfile
=> => transferring dockerfile: 661B 0.0s [+] Building 10.1s (10/10) FINISHED docker:default
=> [internal] load metadata for docker.io/library/python:3.9-slim 0.2s => [internal] load build definition from Dockerfile 0.0s
=> [internal] load .dockerignore 0.0s => => transferring dockerfile: 303B 0.0s
=> => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/python:3.13-slim 0.2s
=> [1/7] FROM docker.io/library/python:3.9-slim@sha256:2d97f6910b16bd338d3060f261f53f144965f755599aab1acda1e13cf1731b1b 0.0s => [internal] load .dockerignore 0.0s
=> => resolve docker.io/library/python:3.9-slim@sha256:2d97f6910b16bd338d3060f261f53f144965f755599aab1acda1e13cf1731b1b 0.0s => => transferring context: 2B 0.0s
=> [internal] load build context 0.1s => [1/5] FROM docker.io/library/python:3.13-slim@sha256:7b8dbc09c76ca63fc57dae35f6211d0c8e22cf0ec5509a63e41408a79e323b28 0.0s
=> => transferring context: 886.81kB 0.0s => => resolve docker.io/library/python:3.13-slim@sha256:7b8dbc09c76ca63fc57dae35f6211d0c8e22cf0ec5509a63e41408a79e323b28 0.0s
=> CACHED [2/7] WORKDIR /app 0.0s => [internal] load build context 0.0s
=> CACHED [3/7] RUN apt-get update && apt-get install -y --no-install-recommends gcc libffi-dev libssl-dev python3-dev build-essential && rm -rf /var/lib/apt/lists/* 0.0s => => transferring context: 15.45kB 0.0s
=> CACHED [4/7] COPY ./.docker/load_manager/requirements.txt ./requirements.txt 0.0s => CACHED [2/5] WORKDIR /app 0.0s
=> CACHED [5/7] RUN pip install --no-cache-dir -r requirements.txt 0.0s => [3/5] COPY ./.docker/bill_manager/requirements.txt . 0.1s
=> CACHED [6/7] COPY ./src/Fast ./Fast 0.0s => [4/5] RUN pip install --no-cache-dir -r requirements.txt 6.5s
=> CACHED [7/7] COPY ./webapp . 0.0s => [5/5] COPY ./src ./Fast 0.1s
=> exporting to image 0.1s => exporting to image 3.0s
=> => exporting layers 0.0s => => exporting layers 2.0s
=> => exporting manifest sha256:ccccb68870923d2806001b7a61fa5103e9349199bcce951f4b229dce3b4d6563 0.0s => => exporting manifest sha256:af38308d2076bfab6726117301e300a31b8f8ec803fa3e1777051add83df6e30 0.0s
=> => exporting config sha256:a5c36909a4e8032b545c7d05a2b08deae9985b30784259b7517ada90c5d0beef 0.0s => => exporting config sha256:9e72ccdaa28d1567b090fa141584c9c85a4a356e4307ffd9217fbec274e5530c 0.0s
=> => exporting attestation manifest sha256:98503507460b5d9f0300c8dd85fdbadf31442328b09a9267265a290e41de4917 0.0s => => exporting attestation manifest sha256:b61b7782bec7e10c227800a5d1d3147059964a36a2fdd62ac42e6c157f28ea39 0.0s
=> => exporting manifest list sha256:6bc650a89f0ddfe4308723ba61c2c9fbbddebbd21f4dc515f79b46069e107190 0.0s => => exporting manifest list sha256:a723f02ce492577530eff3abf55a051259c3dbcb14e51685d53bcdc925ed04b8 0.0s
=> => naming to docker.io/fast/load_manager:latest 0.0s => => naming to docker.io/fast/bill_manager:latest 0.0s
=> => unpacking to docker.io/fast/load_manager:latest => => unpacking to docker.io/fast/bill_manager:latest 0.8s
Do you want to build load_manager? (Y/n):
==> Found component Dockerfile: .docker/load_manager/Dockerfile
[+] Building 0.5s (12/12) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 661B 0.0s
=> [internal] load metadata for docker.io/library/python:3.9-slim 0.2s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/7] FROM docker.io/library/python:3.9-slim@sha256:2d97f6910b16bd338d3060f261f53f144965f755599aab1acda1e13cf1731b1b 0.0s
=> => resolve docker.io/library/python:3.9-slim@sha256:2d97f6910b16bd338d3060f261f53f144965f755599aab1acda1e13cf1731b1b 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 886.81kB 0.0s
=> CACHED [2/7] WORKDIR /app 0.0s
=> CACHED [3/7] RUN apt-get update && apt-get install -y --no-install-recommends gcc libffi-dev libssl-dev python3-dev build-essential && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [4/7] COPY ./.docker/load_manager/requirements.txt ./requirements.txt 0.0s
=> CACHED [5/7] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [6/7] COPY ./src/Fast ./Fast 0.0s
=> CACHED [7/7] COPY ./webapp . 0.0s
=> exporting to image 0.1s
=> => exporting layers 0.0s
=> => exporting manifest sha256:ccccb68870923d2806001b7a61fa5103e9349199bcce951f4b229dce3b4d6563 0.0s
=> => exporting config sha256:a5c36909a4e8032b545c7d05a2b08deae9985b30784259b7517ada90c5d0beef 0.0s
=> => exporting attestation manifest sha256:98503507460b5d9f0300c8dd85fdbadf31442328b09a9267265a290e41de4917 0.0s
=> => exporting manifest list sha256:6bc650a89f0ddfe4308723ba61c2c9fbbddebbd21f4dc515f79b46069e107190 0.0s
=> => naming to docker.io/fast/load_manager:latest 0.0s
=> => unpacking to docker.io/fast/load_manager:latest
``` ```