Deploying Pingvin Share with Docker Compose
Introduction to Pingvin Share
Pingvin Share is a lightweight file sharing service, making it easy to host and share files through a simple and intuitive web interface. This guide will walk you through setting up Pingvin Share on your server using Docker Compose.
Docker Compose Configuration
Docker Compose File (docker-compose.yml)
Here's the Docker Compose configuration for deploying Pingvin Share:
version: '3.8'
services:
pingvin-share:
image: stonith404/pingvin-share
restart: unless-stopped
ports:
- 3000:3000 # Exposes Pingvin Share on port 3000 of the host machine.
volumes:
- "./data:/opt/app/backend/data" # Maps the host directory './data' to the container's data storage.
- "./data/images:/opt/app/frontend/public/img" # Specific path for image storage within the same data directory.
Configuration Details
Ports:
- The service is made available on port 3000 of the host, allowing you to access Pingvin Share via
http://your-host-ip:3000
.
Volumes:
-
./data:/opt/app/backend/data
: This volume mounts a host directory to the container where Pingvin Share stores its data files. -
./data/images:/opt/app/frontend/public/img
: This maps a subdirectory of the same host directory specifically for storing images used by the Pingvin Share frontend.
Preparing Volume Directories
Before deploying the service, it's essential to create the necessary directories on the host machine. This prevents Docker from automatically creating them with root ownership, which could lead to permission issues.
Creating Directories
Run the following commands in the terminal to create the directories with the appropriate permissions:
mkdir -p ./data/images
mkdir -p ./data/images
: Creates thedata
directory and theimages
subdirectory.
Deployment
Once the directories are prepared, you can deploy Pingvin Share using Docker Compose:
docker compose up -d
This command starts the Pingvin Share service in detached mode, running in the background.
Accessing Pingvin Share
After deployment, Pingvin Share will be accessible via http://your-host-ip:3000
. You can start uploading and sharing files immediately through its web interface.
Conclusion
Setting up Pingvin Share with Docker Compose is straightforward, provided the necessary directories are prepared in advance to avoid permission issues. This setup allows you to host a private file sharing service, enhancing your control over file distribution and access within your network.