···11# Cocoon
2233> [!WARNING]
44-I migrated and have been running my main account on this PDS for months now without issue, however, I am still not responsible if things go awry, particularly during account migration. Please use caution.
44+> I migrated and have been running my main account on this PDS for months now without issue, however, I am still not responsible if things go awry, particularly during account migration. Please use caution.
5566Cocoon is a PDS implementation in Go. It is highly experimental, and is not ready for any production use.
77···169169- With `COCOON_S3_CDN_URL`: `getBlob` returns a 302 redirect to `{CDN_URL}/blobs/{did}/{cid}`
170170171171> **Tip**: For Cloudflare R2, you can use the public bucket URL as the CDN URL. For AWS S3, you can use CloudFront or the S3 bucket URL directly if public access is enabled.
172172+173173+#### Alpine based image
174174+175175+The default image is based on Debian. You can use the Alpine-based image if you prefer.
176176+177177+> [!NOTE]
178178+> Currently, we do not have pre-built Alpine-based image on the GitHub Container Registry. You have to build them locally.
179179+180180+In the compose file, replace every `dockerfile: Dockerfile` by `dockerfile: Dockerfile.alpine`, e.g.
181181+```yml
182182+services:
183183+ cocoon:
184184+ build:
185185+ context: .
186186+ dockerfile: Dockerfile.alpine
187187+```
188188+189189+You can also build the image locally with
190190+```bash
191191+docker build -f Dockerfile.alpine -t cocoon:alpine .
192192+```
172193173194### Management Commands
174195