AWS based Image organizer
48
Cloud Gallery is distributed as a Docker Compose OCI artifact. This means that
you do not need to download the source code or a docker-compose.yml file.
Docker retrieves the application definition, the Spring Boot image, and the
PostgreSQL image from the registry.
Your Cloud Gallery accounts, saved application data, and AWS configuration are stored by PostgreSQL in a local Docker volume on your machine. Your uploaded images remain in your personal S3 bucket. None of this user data is included in the downloaded application image or shared with other installations.
Check that Docker Compose is available:
docker compose version
This step is required while the repository is private:
docker login
Sign in with a Docker Hub account that has permission to access the repository. If the repository becomes public, this step will no longer be required.
Create an empty folder for your Cloud Gallery configuration and open a terminal inside it:
mkdir cloud-gallery
cd cloud-gallery
The folder will contain only your private .env configuration file. The
application itself remains in Docker.
Create a file named .env inside the cloud-gallery folder with the following
content:
APP_PORT=8080
POSTGRES_DB=cloud_gallery
POSTGRES_USER=cloud_gallery
POSTGRES_PASSWORD=replace_with_a_strong_unique_password
Replace replace_with_a_strong_unique_password with your own strong password.
On macOS or Linux, you can generate one with:
openssl rand -hex 32
Paste the generated value after POSTGRES_PASSWORD=. Do not add spaces around
the = sign.
The password protects this installation's PostgreSQL database. It is not your
Cloud Gallery login password. Do not share or commit the .env file.
You may change APP_PORT if port 8080 is already in use. For example:
APP_PORT=8082
Run the following command from the folder that contains .env:
docker compose --env-file .env -p cloud-gallery -f oci://docker.io/velkolevski/cloud-gallery-made-by-velin:compose-1.0.0 up -d
Docker Compose may show the variables used by the OCI artifact and ask for
confirmation. Check that APP_PORT, POSTGRES_DB, POSTGRES_USER, and
POSTGRES_PASSWORD are set, then enter y to continue only if you trust the
artifact source.
Docker downloads and starts two containers:
PostgreSQL starts first. Cloud Gallery starts after the database becomes healthy.
If .env contains APP_PORT=8080, open:
http://localhost:8080
If you selected another port, use that port instead. For example,
APP_PORT=8082 means that the application is available at:
http://localhost:8082
Create your Cloud Gallery account. Then open the Help Guide in the application to configure your personal AWS S3 bucket and IAM credentials.
docker compose --env-file .env -p cloud-gallery -f oci://docker.io/velkolevski/cloud-gallery-made-by-velin:compose-1.0.0 ps
The PostgreSQL container should show healthy, and the application container
should show Up.
docker compose --env-file .env -p cloud-gallery -f oci://docker.io/velkolevski/cloud-gallery-made-by-velin:compose-1.0.0 logs -f app
Press Ctrl+C to stop following the logs. This does not stop the application.
docker compose --env-file .env -p cloud-gallery -f oci://docker.io/velkolevski/cloud-gallery-made-by-velin:compose-1.0.0 down
Your database remains stored in the local Docker volume. Run the start command again whenever you want to use the application.
When a newer OCI release is published, replace compose-1.0.0 in the commands
with the new version supplied by the project owner, then run the start command
again. Docker downloads the required updated images while preserving the local
database volume.
The following command removes the containers, network, and database volume:
docker compose --env-file .env -p cloud-gallery -f oci://docker.io/velkolevski/cloud-gallery-made-by-velin:compose-1.0.0 down -v
Warning: The -v option permanently deletes the PostgreSQL database,
including all Cloud Gallery accounts and saved gallery data for this
installation. Use it only when you intentionally want to erase everything.
Run docker login and confirm that your Docker Hub account has access to the
private repository.
<unset>Confirm that:
.env;.env;--env-file .env;.env uses the NAME=value format.Do not continue when one of the PostgreSQL variables is shown as <unset>.
Change APP_PORT in .env to another available port, such as 8082, and run
the start command again.
Check the container status and application logs using the commands above. The first startup may take a short time while Docker downloads the images and PostgreSQL initializes the new database.
Content type
Image
Digest
sha256:311a0ea09…
Size
147.4 MB
Last updated
5 days ago
docker pull velkolevski/cloud-gallery-made-by-velin