Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker Hub Image #37

Open
wants to merge 25 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
5bec28c
Add basic Dockerfile
bytesnz Jan 9, 2021
61c8f37
Create Github action for publish docker image on release
bytesnz Jan 9, 2021
ace0a83
Modify Dockerfile with suggested changes
bytesnz May 29, 2021
e7e6c44
Clean Dockefile
bytesnz Oct 22, 2021
304ca08
Add trivy test to docker build action
bytesnz Oct 22, 2021
2b7fffd
Merge branch 'master' into add-dockerfile
bytesnz Oct 22, 2021
72319ae
Remove unused var and move label to main container
bytesnz Oct 23, 2021
0ed6413
first pass at Docker README
bytesnz Oct 26, 2021
094109b
update Dockerfile label
bytesnz Oct 26, 2021
d924d26
Rewrite dockerfile to include tests
bytesnz Feb 1, 2022
55ccc56
Make aquasec check error when issue found
bytesnz Feb 2, 2022
a53db93
Remove Codacy badge and add details about building
bytesnz Feb 6, 2022
6520106
Add information about using docker image behind proxy
bytesnz Feb 6, 2022
cefdcb4
Clean and add references to the docker README
bytesnz Feb 7, 2022
9d63a99
Merge remote-tracking branch 'upstream/master' into add-dockerfile
bytesnz Feb 22, 2022
abb70bd
Update Dockerfile for changes
bytesnz Feb 22, 2022
ef0266c
Ensures Docker image uses tested package versions
DougReeder Feb 22, 2022
ff66f68
Ensure bin/armadietto.js has unix line endings
bytesnz Mar 29, 2022
d848bf1
Update location of config file to match main README
bytesnz Mar 29, 2022
e6b5d89
Merge remote-tracking branch 'upstream/master' into add-dockerfile
bytesnz May 5, 2022
2d1207b
Updates dependencies to fix vulnerabilities in ejs and minimist
DougReeder May 2, 2022
98a9f55
Merge remote-tracking branch 'upstream/master' into add-dockerfile
bytesnz Jul 10, 2022
19bfd49
Merge remote-tracking branch 'upstream/fix-injection-vulnerability' i…
bytesnz Jul 10, 2022
6b06312
Make sure job runs on tags
bytesnz Jul 10, 2022
098ddaf
Merge pull request #7 from DougReeder/add-dockerfile
bytesnz Oct 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions docker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# armadietto [![Build Status](https://secure.travis-ci.org/remotestorage/armadietto.svg)](http://travis-ci.org/remotestorage/armadietto) [![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg?style=flat-square)](https://github.com/Flet/semistandard) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/0eaafdf96ebb47a9ac462bcf6a7ccb06)](https://www.codacy.com/app/lesion/armadietto?utm_source=github.com&utm_medium=referral&utm_content=remotestorage/armadietto/&utm_campaign=Badge_Grade)

> ### :warning: WARNING
> Please do not consider `armadietto` production ready, this project is still
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not an issue with this PR, but wondering out loud, what is the gate at which we consider Armadietto production ready? I think hard to assess how many production workloads are already running on top of it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question! I think it merits its own issue or forums topic.

> considered experimental. As with any alpha-stage storage technology, you
> MUST expect that it will eat your data and take precautions against this. You
> SHOULD expect that its APIs and storage schemas will change before it is
> labelled stable.

## What is this?

Armadietto is a [RemoteStorage](https://remotestorage.io) server written for Node.js.

This is a complete rewrite of [reStore](https://github.com/jcoglan/restore).

It is also available as the
[armadietto](https://www.npmjs.com/package/armadietto) NPM package.

## Usage

```
docker run -d -p 8000:8000 remotestorage/armadietto:latest
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Under MacOS 11.6.2, with Docker Desktop 4.4.2, this line alone evokes the error
Unable to find image 'remotestorage/armadietto:latest' locally
Should there be a build step?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. Will work once it has been published, but yes, will add info about building.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in a53db93

Copy link
Author

@bytesnz bytesnz Feb 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have just added info about running the docker image behind a proxy as well as it is quite a common thing to do 723f843 6520106

```

The armadietto will run as the armadietto user (UID 6582) in the container.

## Configuration

The default configuration file for armadietto can be found in
`/etc/armadietto.conf.json` and contains the following configuration:

```json
{
"allow_signup": true,
"storage_path": "/usr/share/armadietto",
"cache_views": true,
"http": {
"host": "0.0.0.0",
"port": 8000
},
"https": {
"enable": false,
"force": false,
"port": 4443,
"cert": "/etc/letsencrypt/live/example.com/cert.pem",
"key": "/etc/letsencrypt/live/example.com/privkey.pem"
},
"basePath": ""
}
```

A custom configuration file can be used by mounting it in the container

```
docker run -d -v /my/custom/armadietto.conf.json:/etc/armadietto.conf.json:ro -p 8000:8000 remotestorage/armadietto:latest
```

A suitable data directory should also be mounted in the container to
ensure data is persisted.

```
docker run -d -v /data/armadietto:/usr/share/armadietto -p 8000:8000 remotestorage/armadietto:latest
```

*Note:* The folder and its contents must be writable and readable by the UID
6582.