diff --git a/.github/workflows/serve-filemanager.yml b/.github/workflows/serve-filemanager.yml new file mode 100644 index 0000000..fad7893 --- /dev/null +++ b/.github/workflows/serve-filemanager.yml @@ -0,0 +1,66 @@ +name: Streamlit example workflow + +on: + push: + paths: + - "serve-filemanager/**" + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + type: choice + options: + - info + - warning + - debug + tags: + description: 'Manual run' + required: false + type: boolean + + +jobs: + push: + if: | + github.ref == 'refs/heads/main' && + github.repository == 'scilifelabdatacentre/serve-images' + runs-on: ubuntu-latest + concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + permissions: + contents: read + packages: write + + steps: + - name: 'Checkout github action' + uses: actions/checkout@main + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: ghcr.io/scilifelabdatacentre/serve-filemanager + tags: | + type=raw,value={{date 'YYMMDD-HHmm' tz='Europe/Stockholm'}} + + - name: 'Login to GHCR' + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{github.actor}} + password: ${{secrets.GITHUB_TOKEN}} + + - name: Publish image to GHCR + uses: docker/build-push-action@v3 + with: + file: ./examples/streamlit/Dockerfile + context: ./examples/streamlit + push: true + build-args: version=${{ github.ref_name }} + tags: | + ${{ steps.meta.outputs.tags }} + ghcr.io/scilifelabdatacentre/serve-filemanager:latest + labels: ${{ steps.meta.outputs.labels }} diff --git a/serve-filemanager/Dockerfile b/serve-filemanager/Dockerfile new file mode 100644 index 0000000..de2c2aa --- /dev/null +++ b/serve-filemanager/Dockerfile @@ -0,0 +1,17 @@ +FROM filebrowser/filebrowser + +ARG USER=serve +ARG HOME=/home/$USER + +COPY filebrowser.json /.filebrowser.json + +COPY startup.sh /usr/local/bin/startup.sh +RUN apk update \ + && adduser -D -u 1000 -g 1000 -h $HOME $USER \ + && chmod +x /usr/local/bin/startup.sh \ + && rm -rf /var/lib/apt/lists/* + +COPY branding/ $HOME/branding + +USER $USER +ENTRYPOINT [ "/usr/local/bin/startup.sh" ] diff --git a/serve-filemanager/branding/custom.css b/serve-filemanager/branding/custom.css new file mode 100644 index 0000000..8cca3e1 --- /dev/null +++ b/serve-filemanager/branding/custom.css @@ -0,0 +1,14 @@ +:root{ + --serve-lime: #a7c947; + --bs-body-color-rgb: rgb(33, 37, 41); +} + +.button { + background: var(--serve-lime); + color: black +} + +.button:hover { + background-color: var(--serve-lime); + box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), .15) !important; +} \ No newline at end of file diff --git a/serve-filemanager/branding/img/icons/android-chrome-192x192.png b/serve-filemanager/branding/img/icons/android-chrome-192x192.png new file mode 100644 index 0000000..61316fb Binary files /dev/null and b/serve-filemanager/branding/img/icons/android-chrome-192x192.png differ diff --git a/serve-filemanager/branding/img/icons/android-chrome-512x512.png b/serve-filemanager/branding/img/icons/android-chrome-512x512.png new file mode 100644 index 0000000..f276373 Binary files /dev/null and b/serve-filemanager/branding/img/icons/android-chrome-512x512.png differ diff --git a/serve-filemanager/branding/img/icons/apple-touch-icon.png b/serve-filemanager/branding/img/icons/apple-touch-icon.png new file mode 100644 index 0000000..5e137ee Binary files /dev/null and b/serve-filemanager/branding/img/icons/apple-touch-icon.png differ diff --git a/serve-filemanager/branding/img/icons/browserconfig.xml b/serve-filemanager/branding/img/icons/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/serve-filemanager/branding/img/icons/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/serve-filemanager/branding/img/icons/favicon-16x16.png b/serve-filemanager/branding/img/icons/favicon-16x16.png new file mode 100644 index 0000000..040ad18 Binary files /dev/null and b/serve-filemanager/branding/img/icons/favicon-16x16.png differ diff --git a/serve-filemanager/branding/img/icons/favicon-32x32.png b/serve-filemanager/branding/img/icons/favicon-32x32.png new file mode 100644 index 0000000..8c69cfb Binary files /dev/null and b/serve-filemanager/branding/img/icons/favicon-32x32.png differ diff --git a/serve-filemanager/branding/img/icons/favicon.ico b/serve-filemanager/branding/img/icons/favicon.ico new file mode 100644 index 0000000..3e3b3f7 Binary files /dev/null and b/serve-filemanager/branding/img/icons/favicon.ico differ diff --git a/serve-filemanager/branding/img/icons/mstile-144x144.png b/serve-filemanager/branding/img/icons/mstile-144x144.png new file mode 100644 index 0000000..ad7516a Binary files /dev/null and b/serve-filemanager/branding/img/icons/mstile-144x144.png differ diff --git a/serve-filemanager/branding/img/icons/mstile-150x150.png b/serve-filemanager/branding/img/icons/mstile-150x150.png new file mode 100644 index 0000000..70c031f Binary files /dev/null and b/serve-filemanager/branding/img/icons/mstile-150x150.png differ diff --git a/serve-filemanager/branding/img/icons/mstile-310x150.png b/serve-filemanager/branding/img/icons/mstile-310x150.png new file mode 100644 index 0000000..b067212 Binary files /dev/null and b/serve-filemanager/branding/img/icons/mstile-310x150.png differ diff --git a/serve-filemanager/branding/img/icons/mstile-310x310.png b/serve-filemanager/branding/img/icons/mstile-310x310.png new file mode 100644 index 0000000..02e4388 Binary files /dev/null and b/serve-filemanager/branding/img/icons/mstile-310x310.png differ diff --git a/serve-filemanager/branding/img/icons/mstile-70x70.png b/serve-filemanager/branding/img/icons/mstile-70x70.png new file mode 100644 index 0000000..47654eb Binary files /dev/null and b/serve-filemanager/branding/img/icons/mstile-70x70.png differ diff --git a/serve-filemanager/branding/img/icons/safari-pinned-tab.svg b/serve-filemanager/branding/img/icons/safari-pinned-tab.svg new file mode 100644 index 0000000..0c8b4a5 --- /dev/null +++ b/serve-filemanager/branding/img/icons/safari-pinned-tab.svg @@ -0,0 +1,29 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + diff --git a/serve-filemanager/branding/img/icons/site.webmanifest b/serve-filemanager/branding/img/icons/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/serve-filemanager/branding/img/icons/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/serve-filemanager/branding/img/logo.svg b/serve-filemanager/branding/img/logo.svg new file mode 100644 index 0000000..eedc614 --- /dev/null +++ b/serve-filemanager/branding/img/logo.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/serve-filemanager/filebrowser.json b/serve-filemanager/filebrowser.json new file mode 100644 index 0000000..ff30256 --- /dev/null +++ b/serve-filemanager/filebrowser.json @@ -0,0 +1,8 @@ +{ + "port": 8080, + "baseURL": "", + "address": "", + "log": "stdout", + "database": "/home/serve/database.db", + "root": "/srv" + } \ No newline at end of file diff --git a/serve-filemanager/startup.sh b/serve-filemanager/startup.sh new file mode 100644 index 0000000..c45cb0d --- /dev/null +++ b/serve-filemanager/startup.sh @@ -0,0 +1,7 @@ +#!/bin/ash + +/filebrowser config init +/filebrowser users add $FB_USERNAME $FB_PASSWORD +/filebrowser config set --branding.name "Serve File Manager" --branding.files "/home/serve/branding" --branding.disableExternal +/filebrowser config set --auth.method=noauth +/filebrowser