Add docker image
This commit is contained in:
parent
b25ca0f405
commit
b39e07232c
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/target
|
||||
.idea
|
||||
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"
|
15
README.md
15
README.md
@ -4,3 +4,18 @@ PagesServer is a very lightweight static web server that offer two main features
|
||||
* 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.
|
||||
|
||||
## 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