A web-based visual Oracle Cloud Assistant developed based on Oracle OCI SDK 🐢. The currently implemented functions include: batch adding multiple tenant configurations, changing instance configurations and boot volume configurations, attaching ipv6, changing instance public IPs according to multiple CIDR network segments, batch grabbing of multiple tenants at the same time, breakpoint resumption, backup and recovery, real-time log viewing, message notifications, MFA login verification and other functions.
- 🔑It is recommended to use low-privilege APIs. Please refer to the tutorial of @ Jin Gu Bang: How to generate low-privilege APIs
⚠️ I am not responsible for account suspension due to high frequency of booting and changing IP.- ❤️The development of this project is purely personal hobby, no backdoor, and safe to use.
- 🔒It is strongly recommended not to use naked HTTP access, and HTTPS access should be configured using Nginx reverse proxy.
- 🔐It is recommended to use a key to log in to the server to prevent the server from being blasted by SSH, resulting in API data and key leakage.
- 📃Remember to clean up the docker logs regularly~
- Manage multiple tenant configuration information at the same time, support fuzzy search and status filtering.
- Support functions such as changing instance configuration, boot volume configuration, attaching ipv6, releasing security lists, etc.
- Change the instance public IP according to multiple CIDR network segments. If there are abnormalities such as frequent requests, they will be ignored directly, and will not affect the next execution until the IP of the specified IP segment is changed.
- Multiple tenants start up in batches at the same time, and the background will run until the startup is successful.
- Support breakpoint continuation, the configuration and machine grabbing tasks are saved in the local database, and the machine grabbing tasks will continue to be executed when the service is restarted, without repeated configuration.
- Support multiple area codes (configuration items are distinguished by
region
), for example: I have a 4-area code, then add 4 configurations, modifyregion
, and other configuration items are the same. - Support real-time viewing of backend logs on the front-end page.
- Support encrypted backup and recovery to facilitate data migration.
- Support MFA login verification function.
- After the installation is complete, you can directly access it through
ip:8818
in the browser (it is recommended to access it through https later). The default account and password are both:yohann
. If you need to modify it, please change the configuration in/app/oci-helper/application.yml
and executedocker restart oci-helper
to restart the docker container. - It is recommended to use English names for
key files.pem
and upload them all to the/app/oci-helper/keys
directory. When adding oci configuration, just enterkey file name.pem
. The full path of this directory will be added by default. - If you need to view the complete log, execute:
docker logs oci-helper >> /app/oci-helper/oci-helper.log
to export the log file and view it yourself.
bash <(wget -qO- https://github.com/Yohann0617/oci-helper/releases/latest/download/sh_oci-helper_install.sh)
This command can also be used to update the image and restart the container without deleting the existing configuration.
November 30, 2024 - A new table was added to the database. TG and DingTalk message notifications are changed to be configured on the web page. If you encounter a configuration exception, please delete the
application.yml
file, then re-execute the one-click command, modify the custom account password, and restart the container withdocker restart oci-helper
.
☜ Read more 👨💻
Create a key file storage directory /app/oci-helper/keys
to store the key file.pem
downloaded when generating the API from the Oracle Cloud Console. When adding a new oci configuration, just enter key file name.pem
. The full path of this directory will be added by default.
mkdir -p /app/oci-helper/keys && cd /app/oci-helper
- Download the latest
application.yml
andoci-helper.db
files inReleases
to the/app/oci-helper
directory, and modify some configurations ofapplication.yml
. - If you do not use docker deployment, download another
ocihelper-1.0.8.jar
file to the/app/oci-helper
directory, and run it directlynohup java -jar ocihelper-1.0.8.jar > /var/log/oci-helper.log &
(the prerequisite is that the environment must havejre8
orjdk8
or above). - If you update the jar package or docker image later, you need to install sqlite and run the command to update the version number in
sh_oci-helper_install.sh
(solve it yourself).
The docker environment needs to be installed in advance, supporting arm64 and amd64 architectures.
Run directly with docker:
docker run -d --name oci-helper --restart=always \
-p 8818:8818 \
-v /app/oci-helper/application.yml:/app/oci-helper/application.yml \
-v /app/oci-helper/oci-helper.db:/app/oci-helper/oci-helper.db \
-v /app/oci-helper/keys:/app/oci-helper/keys \
ghcr.io/yohann0617/oci-helper:master
Download the latest docker-compose.yml
in Releases
to the /app/oci-helper
directory and run the following command:
docker compose up -d
Update the latest image:
docker compose pull && docker compose up -d