No description
Find a file
Gunwant Jain 8ddca50c55 base.html: re-add scroll bars
My only grief with scroll bars was not even with scroll bars, but FF's
shitty contrast breaking scroll bars in dark backgrounds. Fortunately
that has been settled for in the latest beta.

Also I was missing using a scrollbar on the pastebin :p

Signed-off-by: Gunwant Jain <mail@wantguns.dev>
2021-05-15 14:29:02 +05:30
src cargo fix the project 2021-01-21 16:34:59 +05:30
templates base.html: re-add scroll bars 2021-05-15 14:29:02 +05:30
.dockerignore dockerignore: add dockerignore 2021-01-06 06:16:05 +05:30
.gitignore add /p/<id> routes 2020-12-29 17:37:29 +05:30
Cargo.lock add /p/<id> routes 2020-12-29 17:37:29 +05:30
Cargo.toml index: improve the usage guide 2020-12-30 03:41:54 +05:30
copying license: lgpl license 2021-01-11 20:41:14 +05:30
docker-compose.yml docker-compose, readme: s/HOST/HOST_URL/ 2021-01-06 06:15:03 +05:30
Dockerfile Dockerised the app 2020-12-30 04:20:39 +05:30
readme.md docker-compose, readme: s/HOST/HOST_URL/ 2021-01-06 06:15:03 +05:30

Usage

    POST    / 

        accepts raw data in the body of the request and responds with a URL
        of a page containing the body's content

    GET     /<id>

        retrieves the content for the paste with id `<id>`

    GET     /p/<id>

        retrieves the HTML page with syntax-highlighted content for the paste with id `<id>`

Examples

    Paste a file named 'file.txt' using cURL:

        curl --data-binary @file.txt https://bin.wantguns.dev

    Paste from stdin using cURL:

        echo "Hello, world." | curl --data-binary @- https://bin.wantguns.dev

    Add this to your .zshrc to implement a quicker usage.

        function paste() {
          local file=${1:-/dev/stdin}
          curl --data-binary @${file} https://bin.wantguns.dev
        }

    If the uploaded data binary is parsed as "text/*", then the paste will be syntax
    highlighted

Deployment

Traefik

## (... Traefik service configuration ...) ##

   pastebin:
     image: wantguns/bin
     restart: always
     container_name: pastebin
     ports:
       - 127.0.0.1:6162:6162
     environment:
       - ROCKET_PORT=6162
       - THEME=
       - HOST_URL=${BIN_DOMAIN}
     volumes:
       - /path/to/local/upload:/app/upload
     labels:
       - "traefik.enable=true"
       - "traefik.http.routers.pastebin.rule=Host(`${BIN_DOMAIN}`)"
       - "traefik.http.routers.pastebin.entrypoints=secure"
       - "traefik.http.routers.pastebin.tls.certresolver=le"
       - "traefik.http.services.pastebin.loadbalancer.server.port=6162"
     networks:
       - bin_network

networks:
  - bin_network