Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/muchobien/pocketbase-docker

Pocketbase docker image
https://github.com/muchobien/pocketbase-docker

amd64 arm64 armv7 docker docker-compose docker-image multi-arch pocketbase

Last synced: about 3 hours ago
JSON representation

Pocketbase docker image

Awesome Lists containing this project

README

        



PocketBase logo

Docker Image for PocketBase





Latest PocketBase Version


Supported Docker architectures

---

## Supported Architectures

Pulling `ghcr.io/muchobien/pocketbase:latest` will automatically retrieve the appropriate image for your system architecture.

| Architecture | Supported |
|--------------|-----------|
| amd64 | ✅ |
| arm64 | ✅ |
| armv7 | ✅ |

## Version Tags

This image offers multiple tags for different versions. Choose the appropriate tag for your use case and exercise caution when using unstable or development tags.

| Tag | Available | Description |
|--------|-----------|------------------------------------|
| latest | ✅ | Latest stable release of PocketBase |
| x.x.x | ✅ | Specific patch release |
| x.x | ✅ | Minor release |
| x | ✅ | Major release |

## Application Setup

Access the web UI at `:8090`. For more details, refer to the [PocketBase Documentation](https://pocketbase.io/docs/).

## Usage

Below are example configurations to get started with a PocketBase container.

### Using Docker Compose (Recommended)

```yaml
version: "3.7"
services:
pocketbase:
image: ghcr.io/muchobien/pocketbase:latest
container_name: pocketbase
restart: unless-stopped
command:
- --encryptionEnv # optional
- ENCRYPTION # optional
environment:
ENCRYPTION: $(openssl rand -hex 16) # optional (Ensure this is a 32-character long encryption key https://pocketbase.io/docs/going-to-production/#enable-settings-encryption)
ports:
- "8090:8090"
volumes:
- /path/to/data:/pb_data
- /path/to/public:/pb_public # optional
- /path/to/hooks:/pb_hooks # optional
healthcheck: # optional, recommended since v0.10.0
test: wget --no-verbose --tries=1 --spider http://localhost:8090/api/health || exit 1
interval: 5s
timeout: 5s
retries: 5
```

### Using Docker CLI ([More Info](https://docs.docker.com/engine/reference/commandline/cli/))

```bash
docker run -d \
--name=pocketbase \
-p 8090:8090 \
-e ENCRYPTION=example `# optional` \
-v /path/to/data:/pb_data \
-v /path/to/public:/pb_public `# optional` \
-v /path/to/hooks:/pb_hooks `# optional` \
--restart unless-stopped \
ghcr.io/muchobien/pocketbase:latest \
--encryptionEnv ENCRYPTION `# optional`
```

## Building the Image Locally

To build the image yourself, copy the `Dockerfile` and `docker-compose.yml` to your project directory. Update `docker-compose.yml` to build the image instead of pulling it:

```yaml
version: "3.7"
services:
pocketbase:
build:
context: .
args:
- VERSION=0.22.10 # Specify the PocketBase version here
container_name: pocketbase
restart: unless-stopped
command:
- --encryptionEnv # optional
- ENCRYPTION # optional
environment:
ENCRYPTION: example # optional
ports:
- "8090:8090"
volumes:
- /path/to/data:/pb_data
- /path/to/public:/pb_public # optional
- /path/to/hooks:/pb_hooks # optional
healthcheck: # optional, recommended since v0.10.0
test: wget --no-verbose --tries=1 --spider http://localhost:8090/api/health || exit 1
interval: 5s
timeout: 5s
retries: 5
```

## Related Repositories

- [PocketBase GitHub Repository](https://github.com/pocketbase/pocketbase)