Does Oblien Openship Support Docker and Containerization?
Yes, Oblien Openship is fully containerized and ships with production-ready Docker images and Compose configurations that let you deploy the entire platform—including PostgreSQL, Redis, API, Dashboard, and Edge services—with a single command.
Oblien Openship is an open-source platform designed with a container-first architecture. According to the oblien/openship source code, the project provides native Openship containerization support through pre-built images published to the GitHub Container Registry and flexible orchestration files for both production and development workflows.
Docker Architecture Overview
The Edge Service (OpenResty)
The routing and TLS termination layer runs inside a dedicated container defined in apps/edge/Dockerfile. This image packages OpenResty and listens directly on the host's ports 80 and 443 using host-network mode. During runtime, the container receives dynamic configuration files from the API service via shared bind-mounts, placing the active nginx.conf at /usr/local/openresty/nginx/conf/nginx.conf inside the container.
Full-Stack Orchestration
Rather than requiring manual installation of dependencies, Openship orchestrates its entire infrastructure through Docker Compose. The platform bundles PostgreSQL, Redis, the API, the Dashboard, and the Edge service into unified Compose definitions that handle networking, volumes, and environment variables automatically.
Docker Compose Configuration Files
The project provides two distinct strategies for running containers, located under the docker/ directory.
Pre-Built Images (Quick Start)
The docker/docker-compose.yml file defines a pull-based stack that uses pre-built images from the GitHub Container Registry. This approach is ideal for production deployments or users who want to run the platform without building from source.
Source Builds (Development)
The docker/docker-compose.build.yml file extends the base configuration to rebuild images locally from the repository source. This is useful when developing custom modifications to the Edge logic or API behavior.
Running Openship with Docker
Quick Start with Pre-Built Images
To launch the entire stack using the pre-published images from the GitHub Container Registry:
# From the repository root
cp .env.example .env # adjust .env as needed
docker compose -f docker/docker-compose.yml --env-file .env up -d
This command starts PostgreSQL, Redis, the API, Dashboard, and Edge services in detached mode.
Building Images from Source
To rebuild the containers locally when you have modified the source code or configuration:
docker compose -f docker/docker-compose.yml \
-f docker/docker-compose.build.yml \
--env-file .env up -d --build
Stopping and Cleaning Up
To stop all services and remove the associated volumes (including database data):
docker compose -f docker/docker-compose.yml down -v
Inspecting the Edge Container
To verify the OpenResty configuration or debug routing issues inside the running Edge container:
docker exec -it openship-edge sh
# Inside you’ll find the OpenResty config at /usr/local/openresty/nginx/conf/nginx.conf
CI/CD and Image Publishing
Automation is handled by .github/workflows/docker-images.yml, which runs on every release. This GitHub Actions workflow automatically builds the Docker images for the API and Edge services, then publishes them to the GitHub Container Registry. Users running the pre-built stack receive these updates immediately when they pull the latest images.
Summary
- Oblien Openship is fully containerized with first-class Docker support.
- The Edge service (
apps/edge/Dockerfile) runs OpenResty on host ports 80/443 via host-network mode. - Docker Compose files in
docker/provide both pre-built (docker-compose.yml) and source-build (docker-compose.build.yml) workflows. - The complete stack includes PostgreSQL, Redis, API, Dashboard, and Edge services.
- GitHub Actions (
.github/workflows/docker-images.yml) automate image builds and registry publishing.
Frequently Asked Questions
Does Openship require Docker to run?
While Docker is the recommended and officially supported deployment method, Openship could theoretically run directly on a host if all dependencies (PostgreSQL, Redis, Node.js, OpenResty) are manually configured. However, the project is architected specifically for containerization, and the provided Compose files are the only documented production deployment method.
What ports does the Openship Edge container expose?
The Edge container binds directly to host ports 80 and 443 using Docker's host-network mode, as defined in the Compose configuration. This allows OpenResty to handle TLS termination and HTTP routing without additional port mapping layers.
Can I customize the OpenResty configuration in the Edge container?
Yes. You can modify the apps/edge/nginx.conf file in the source repository and rebuild the image using docker/docker-compose.build.yml, or mount a custom configuration file via bind-mounts in the Compose definition to override the default behavior without rebuilding.
How do I update Openship when running with Docker?
For pre-built deployments, run docker compose pull in the docker/ directory to fetch the latest images from the GitHub Container Registry, then restart with docker compose up -d. For source-based deployments, pull the latest code from the repository and run the build command with the --build flag to regenerate images with the updated source.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →