Skip to content
This repository has been archived by the owner on Feb 4, 2022. It is now read-only.

Commit

Permalink
Bot Updating Templated Files
Browse files Browse the repository at this point in the history
  • Loading branch information
LinuxServer-CI committed Apr 17, 2021
1 parent 34f7e7b commit 22149ae
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 35 deletions.
7 changes: 4 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ If you are proposing additional packages to be added, ensure that you added the

### Testing your changes

```
```bash
git clone https://github.com/linuxserver/docker-ipfs.git
cd docker-ipfs
docker build \
Expand All @@ -106,13 +106,14 @@ docker build \
```

The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```

```bash
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```

Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.

## Update the chagelog
## Update the changelog

If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-ipfs/tree/master/root), add an entry to the changelog

Expand Down
67 changes: 35 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the CONTRIBUTING.md -->
<!-- Please read the https://github.com/linuxserver/docker-ipfs/blob/master/.github/CONTRIBUTING.md -->

[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)

Expand All @@ -12,13 +12,14 @@

The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:

* regular and timely application updates
* easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates
* regular and timely application updates
* easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates

Find us at:

* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
Expand All @@ -40,7 +41,6 @@ Find us at:

[Ipfs](https://ipfs.io/) - A peer-to-peer hypermedia protocol designed to make the web faster, safer, and more open.


[![ipfs](https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/Ipfs-logo-1024-ice-text.png/480px-Ipfs-logo-1024-ice-text.png)](https://ipfs.io/)

## Supported Architectures
Expand All @@ -57,6 +57,19 @@ The architectures supported by this image are:
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |

## Application Setup

In order to push files beyond your local gateway you have to make sure port 4001 is forwarded to the internet. This is required for IPFS peers to reach in and grab your files so public gateways can serve them.

Access the webui at http://localhost , if not using localhost scroll to the bottom of the page and set the API Address setting to IE http://192.168.1.10:5001 , from there you can upload and manage files you push to IPFS. Your gateway to access IPFS files is http://localhost:8080/ipfs/YOUR-FILE-HASH-HERE . You can also simply use public IPFS gateways like:
* Cloudflare - https://cloudflare-ipfs.com/ipfs/YOUR-FILE-HASH-HERE
* IPFS.io - https://ipfs.io/ipfs/YOUR-FILE-HASH-HERE
* Eternum.io - https://ipfs.eternum.io/ipfs/YOUR-FILE-HASH-HERE

Cloudflare is a solid option as they actually edge cache the files on their CDN so even if your node pinning the item goes down for periods of time their cache will last up to a month.

For more on using IPFS please read the docs [here](https://docs.ipfs.io/)


## Usage

Expand Down Expand Up @@ -90,7 +103,7 @@ services:
### docker cli
```
```bash
docker run -d \
--name=ipfs \
-e PUID=1000 \
Expand All @@ -106,7 +119,6 @@ docker run -d \
ghcr.io/linuxserver/ipfs
```


## Parameters

Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
Expand All @@ -129,7 +141,7 @@ You can set any environment variable from a file by using a special prepend `FIL

As an example:

```
```bash
-e FILE__PASSWORD=/run/secrets/mysecretpassword
```

Expand All @@ -148,34 +160,17 @@ Ensure any volume directories on the host are owned by the same user you specify

In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:

```
```bash
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
```


&nbsp;
## Application Setup

In order to push files beyond your local gateway you have to make sure port 4001 is forwarded to the internet. This is required for IPFS peers to reach in and grab your files so public gateways can serve them.

Access the webui at http://localhost , if not using localhost scroll to the bottom of the page and set the API Address setting to IE http://192.168.1.10:5001 , from there you can upload and manage files you push to IPFS. Your gateway to access IPFS files is http://localhost:8080/ipfs/YOUR-FILE-HASH-HERE . You can also simply use public IPFS gateways like:
* Cloudflare - https://cloudflare-ipfs.com/ipfs/YOUR-FILE-HASH-HERE
* IPFS.io - https://ipfs.io/ipfs/YOUR-FILE-HASH-HERE
* Eternum.io - https://ipfs.eternum.io/ipfs/YOUR-FILE-HASH-HERE

Cloudflare is a solid option as they actually edge cache the files on their CDN so even if your node pinning the item goes down for periods of time their cache will last up to a month.

For more on using IPFS please read the docs [here](https://docs.ipfs.io/)



## Docker Mods

[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=ipfs&query=%24.mods%5B%27ipfs%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=ipfs "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")

We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.


## Support Info

* Shell access whilst the container is running: `docker exec -it ipfs /bin/bash`
Expand All @@ -192,38 +187,45 @@ Most of our images are static, versioned, and require an image update and contai
Below are the instructions for updating containers:

### Via Docker Compose

* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull ipfs`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d ipfs`
* You can also remove the old dangling images: `docker image prune`

### Via Docker Run

* Update the image: `docker pull ghcr.io/linuxserver/ipfs`
* Stop the running container: `docker stop ipfs`
* Delete the container: `docker rm ipfs`
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* You can also remove the old dangling images: `docker image prune`

### Via Watchtower auto-updater (only use if you don't remember the original parameters)

* Pull the latest image at its tag and replace it with the same env variables in one run:
```

```bash
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once ipfs
```

* You can also remove the old dangling images: `docker image prune`

**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).

### Image Update Notifications - Diun (Docker Image Update Notifier)

* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.

## Building locally

If you want to make local modifications to these images for development purposes or just to customize the logic:
```

```bash
git clone https://github.com/linuxserver/docker-ipfs.git
cd docker-ipfs
docker build \
Expand All @@ -233,7 +235,8 @@ docker build \
```

The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```

```bash
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```

Expand Down

0 comments on commit 22149ae

Please sign in to comment.