Compare commits
5 Commits
52ddec74a9
...
35d1b86488
Author | SHA1 | Date |
---|---|---|
lalanza808 | 35d1b86488 | 4 years ago |
lalanza808 | 70d636148a | 4 years ago |
lalanza808 | ec6ad3631c | 4 years ago |
lalanza808 | e156b2f914 | 4 years ago |
lalanza808 | a2365493d9 | 4 years ago |
@ -1,22 +1,34 @@
|
||||
FROM ubuntu:19.10 as builder
|
||||
|
||||
# Install required packages
|
||||
RUN apt-get update && apt-get install -y build-essential
|
||||
|
||||
RUN apt-get install -y curl git
|
||||
|
||||
# Setup app user and workspace
|
||||
RUN useradd -m -d /home/wownero-explorer wownero-explorer
|
||||
|
||||
RUN mkdir -p /srv && chown -R wownero-explorer:wownero-explorer /srv
|
||||
|
||||
RUN mkdir -p /srv/wownero-explorer && chown -R wownero-explorer:wownero-explorer /srv
|
||||
USER wownero-explorer
|
||||
WORKDIR /srv
|
||||
WORKDIR /srv/wownero-explorer
|
||||
|
||||
# Install Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | RUSTUP_HOME=/home/wownero-explorer/.rustup sh -s -- -y
|
||||
RUN git clone https://git.wownero.com/lza_menace/wownero-explorer && \
|
||||
cd wownero-explorer && \
|
||||
~/.cargo/bin/rustup override set nightly && \
|
||||
~/.cargo/bin/cargo build --release
|
||||
|
||||
FROM ubuntu:19.10
|
||||
# Setup dummy build and perform release
|
||||
COPY dummy.rs .
|
||||
COPY Cargo.toml .
|
||||
COPY Cargo.lock .
|
||||
RUN sed -i 's_src/main.rs_dummy.rs_' Cargo.toml
|
||||
RUN ~/.cargo/bin/rustup override set nightly
|
||||
RUN ~/.cargo/bin/cargo build --release
|
||||
|
||||
# Put real source onto image and perform release
|
||||
RUN sed -i 's_dummy.rs_src/main.rs_' Cargo.toml
|
||||
COPY src src
|
||||
RUN ~/.cargo/bin/cargo build --release
|
||||
|
||||
FROM ubuntu:19.10
|
||||
COPY --from=builder /srv/wownero-explorer/target/release/wownero-explorer /bin/wownero-explorer
|
||||
COPY static static
|
||||
COPY templates templates
|
||||
|
||||
CMD 'wownero-explorer'
|
||||
|
@ -1,11 +1,58 @@
|
||||
## Wownero Explorer
|
||||
|
||||
Web interface for searching the Wownero blockchain.
|
||||
A simple web interface for searching the Wownero blockchain.
|
||||
|
||||
## Running
|
||||
## Quick-Start
|
||||
|
||||
### Docker
|
||||
|
||||
The fastest way to get it up and running to test it locally is to use the pre-made Docker container:
|
||||
|
||||
```
|
||||
export DAEMON_URI=http://so.wow.candy.surf:34568
|
||||
docker run -d \
|
||||
--name wownero-explorer \
|
||||
--rm \
|
||||
-p 80:8000 \
|
||||
-e DAEMON_URI=$DAEMON_URI \
|
||||
lalanza808/wownero-explorer:latest
|
||||
```
|
||||
|
||||
You could also just use `docker-compose`, though it will download a reverse proxy image:
|
||||
|
||||
```
|
||||
export DAEMON_URI=http://so.wow.candy.surf:34568
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
Navigate to http://localhost/ to browse the explorer.
|
||||
|
||||
|
||||
### Rust
|
||||
|
||||
Alternatively, if you'd like to build/run using native Rust tools, follow these steps:
|
||||
|
||||
1. Install Rust: https://www.rust-lang.org/tools/install
|
||||
2. Clone this repo: `git clone https://git.wownero.com/lza_menace/wownero-explorer && cd wownero-explorer`
|
||||
3. Pin the nightly version of rust to the local directory: `rustup override set nightly`
|
||||
4. [Pick a Wownero node](https://wownero.com) if you don't have one and apply the `DAEMON_URI` environment variable: `export DAEMON_URI=http://so.wow.candy.surf:34568`
|
||||
5. Run the application: `cargo run`
|
||||
6. Navigate to http://localhost:8000/
|
||||
|
||||
|
||||
## Full Installation
|
||||
|
||||
I'm using [Traefik](https://docs.traefik.io/getting-started/concepts/) as a reverse proxy in order to handle automatic TLS certification with Let's Encrypt and to avoid manage Nginx configs. If you want to run the full installation you will need a registered domain and control of DNS records.
|
||||
|
||||
I don't feel like paying for a cluster for this simple app so I'm using `docker-compose` on a single box that I can recreate easily often to avoid config drift.
|
||||
|
||||
1. Create new file, `docker-compose.prod.yml` as a copy of `docker-compose.yml`
|
||||
2. Uncomment labels under `wownero-explorer` service
|
||||
3. Change labels to match external DNS name
|
||||
4. Set `${ACME_EMAIL}` either as hardcoded string or pass as environment variable
|
||||
5. Run `docker-compose -f docker-compose.prod.yml up -d`
|
||||
|
||||
|
||||
## Questions?
|
||||
|
||||
Ask around in IRC: https://webchat.freenode.net/?room=#wownero
|
||||
|
Reference in new issue