Add docker image
This commit is contained in:
parent
b25ca0f405
commit
b39e07232c
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
/target
|
/target
|
||||||
.idea
|
.idea
|
||||||
storage
|
storage
|
||||||
|
image
|
||||||
|
10
Dockerfile
Normal file
10
Dockerfile
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
FROM debian:bullseye-slim
|
||||||
|
|
||||||
|
COPY pages_server /usr/local/bin/pages_server
|
||||||
|
|
||||||
|
RUN mkdir /srv/web && chown 1000 /srv/web
|
||||||
|
USER 1000
|
||||||
|
|
||||||
|
ENV FILES_PATH /srv/web
|
||||||
|
|
||||||
|
CMD "/usr/local/bin/pages_server"
|
17
README.md
17
README.md
@ -3,4 +3,19 @@ PagesServer is a very lightweight static web server that offer two main features
|
|||||||
* Serve static content
|
* Serve static content
|
||||||
* Allow easy update of the whole website from a CI/CD system through a POST request, protected by a token & by IP filtering.
|
* Allow easy update of the whole website from a CI/CD system through a POST request, protected by a token & by IP filtering.
|
||||||
|
|
||||||
This project has been written in Rust. It is based on the Actix framework.
|
This project has been written in Rust. It is based on the Actix framework.
|
||||||
|
|
||||||
|
## Publishing / updating website
|
||||||
|
Make a
|
||||||
|
* `POST` request on `http://<website>/_mgmt/replace_files`.
|
||||||
|
* Body:
|
||||||
|
* Multipart / Form-data body
|
||||||
|
* One field: `file` that contains a TAR archive of the website to publish
|
||||||
|
* Headers:
|
||||||
|
* `Token` (mandatory) : contains the push token that allow to post files
|
||||||
|
* `BaseURI` (optional) : defines the directory inside the tar archive to extract to storage directory
|
||||||
|
|
||||||
|
## Try it
|
||||||
|
```bash
|
||||||
|
docker run --rm -ti -p 8000:8000 -v $(pwd)/storage:/srv/web --env UPDATE_TOKEN=CHANGEME pierre42100/pages_server
|
||||||
|
```
|
8
build_docker.sh
Executable file
8
build_docker.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
cargo build --release
|
||||||
|
|
||||||
|
rm -rf image
|
||||||
|
mkdir image
|
||||||
|
|
||||||
|
cp target/release/pages_server image
|
||||||
|
docker build image -f Dockerfile -t pierre42100/pages_server
|
Loading…
Reference in New Issue
Block a user