Deploy osmosis on Urbit fake ship
This commit is contained in:
parent
1f4eb57069
commit
aa28d53699
@ -10,7 +10,10 @@ services:
|
|||||||
command: ["./build-app.sh"]
|
command: ["./build-app.sh"]
|
||||||
volumes:
|
volumes:
|
||||||
- ../config/osmosis/build-app.sh:/app/packages/web/build-app.sh
|
- ../config/osmosis/build-app.sh:/app/packages/web/build-app.sh
|
||||||
- app_builds:/app-builds
|
- urbit_app_builds:/app-builds
|
||||||
|
# TODO: Refactor common mar files
|
||||||
|
- ../config/osmosis/urbit-files/mar:/app/packages/web/mar
|
||||||
|
- ../config/osmosis/urbit-files/desk.docket-0:/app/packages/web/desk.docket-0
|
||||||
|
|
||||||
nginx:
|
nginx:
|
||||||
image: nginx:1.23-alpine
|
image: nginx:1.23-alpine
|
||||||
@ -20,7 +23,7 @@ services:
|
|||||||
condition: service_completed_successfully
|
condition: service_completed_successfully
|
||||||
volumes:
|
volumes:
|
||||||
- ../config/osmosis/nginx:/etc/nginx/conf.d
|
- ../config/osmosis/nginx:/etc/nginx/conf.d
|
||||||
- app_builds:/usr/share/nginx
|
- urbit_app_builds:/app-builds
|
||||||
ports:
|
ports:
|
||||||
- "80"
|
- "80"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@ -31,4 +34,4 @@ services:
|
|||||||
start_period: 5s
|
start_period: 5s
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
app_builds:
|
urbit_app_builds:
|
||||||
|
@ -16,3 +16,6 @@ yarn build:static
|
|||||||
# Move build to app-builds
|
# Move build to app-builds
|
||||||
mkdir -p /app-builds/osmosis
|
mkdir -p /app-builds/osmosis
|
||||||
cp -r ./out /app-builds/osmosis/build
|
cp -r ./out /app-builds/osmosis/build
|
||||||
|
|
||||||
|
cp -r mar /app-builds/osmosis/
|
||||||
|
cp desk.docket-0 /app-builds/osmosis/
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
:~ title+'Osmosis'
|
||||||
|
info+'Self-hosted osmosis frontend.'
|
||||||
|
color+0xcd.75df
|
||||||
|
image+'https://logowik.com/content/uploads/images/osmosis8548.logowik.com.webp'
|
||||||
|
base+'osmosis'
|
||||||
|
glob-http+['REPLACE_WITH_GLOB_URL' REPLACE_WITH_GLOB_HASH]
|
||||||
|
version+[0 0 1]
|
||||||
|
website+'https://osmosis.zone/'
|
||||||
|
license+'MIT'
|
||||||
|
==
|
@ -0,0 +1,18 @@
|
|||||||
|
::
|
||||||
|
:::: /hoon/map/mar
|
||||||
|
:: Mark for js source maps
|
||||||
|
/? 310
|
||||||
|
::
|
||||||
|
=, eyre
|
||||||
|
|_ mud=@
|
||||||
|
++ grow
|
||||||
|
|%
|
||||||
|
++ mime [/application/octet-stream (as-octs:mimes:html (@t mud))]
|
||||||
|
--
|
||||||
|
++ grab
|
||||||
|
|% :: convert from
|
||||||
|
++ mime |=([p=mite q=octs] (@t q.q))
|
||||||
|
++ noun cord :: clam from %noun
|
||||||
|
--
|
||||||
|
++ grad %mime
|
||||||
|
--
|
@ -0,0 +1,12 @@
|
|||||||
|
|_ dat=octs
|
||||||
|
++ grow
|
||||||
|
|%
|
||||||
|
++ mime [/font/ttf dat]
|
||||||
|
--
|
||||||
|
++ grab
|
||||||
|
|%
|
||||||
|
++ mime |=([=mite =octs] octs)
|
||||||
|
++ noun octs
|
||||||
|
--
|
||||||
|
++ grad %mime
|
||||||
|
--
|
@ -0,0 +1,12 @@
|
|||||||
|
|_ dat=octs
|
||||||
|
++ grow
|
||||||
|
|%
|
||||||
|
++ mime [/font/woff dat]
|
||||||
|
--
|
||||||
|
++ grab
|
||||||
|
|%
|
||||||
|
++ mime |=([=mite =octs] octs)
|
||||||
|
++ noun octs
|
||||||
|
--
|
||||||
|
++ grad %mime
|
||||||
|
--
|
@ -1,17 +1,20 @@
|
|||||||
# self-hosted osmosis
|
# self-hosted osmosis
|
||||||
|
|
||||||
Instructions to build and deploy:
|
Instructions to build and deploy:
|
||||||
- self-hosted gitea
|
- Self-hosted gitea
|
||||||
- an ipfs node
|
- An ipfs node
|
||||||
- the osmosis front end
|
- Urbit
|
||||||
- a laconicd chain
|
- The osmosis front end
|
||||||
|
- Hosted on python server
|
||||||
|
- Deployed on urbit
|
||||||
|
- A laconicd chain
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
Clone required repositories:
|
Clone required repositories:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack osmosis setup-repositories
|
laconic-so --stack osmosis setup-repositories --pull
|
||||||
|
|
||||||
# If this throws an error as a result of being already checked out to a branch/tag in a repo, remove the repositories and re-run the command
|
# If this throws an error as a result of being already checked out to a branch/tag in a repo, remove the repositories and re-run the command
|
||||||
```
|
```
|
||||||
@ -40,10 +43,15 @@ Edit `network` in spec file to map container ports to same ports in host
|
|||||||
...
|
...
|
||||||
network:
|
network:
|
||||||
ports:
|
ports:
|
||||||
|
urbit-fake-ship:
|
||||||
|
- '8080:80'
|
||||||
proxy-server:
|
proxy-server:
|
||||||
- '4000:4000'
|
- '4000:4000'
|
||||||
nginx:
|
nginx:
|
||||||
- '3000:80'
|
- '3000:80'
|
||||||
|
ipfs-glob-host:
|
||||||
|
- '8081:8080'
|
||||||
|
- '5001:5001'
|
||||||
```
|
```
|
||||||
|
|
||||||
### Data volumes
|
### Data volumes
|
||||||
@ -65,6 +73,9 @@ Inside the deployment directory, open the file `config.env` and set the followin
|
|||||||
(Note: Following config can be used as is if the stack is being run locally)
|
(Note: Following config can be used as is if the stack is being run locally)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# App to be installed (Do not change)
|
||||||
|
CERC_URBIT_APP=osmosis
|
||||||
|
|
||||||
# Osmosis API base URL
|
# Osmosis API base URL
|
||||||
# Set this to proxy server endpoint for osmosis app
|
# Set this to proxy server endpoint for osmosis app
|
||||||
# (Eg. http://localhost:4000 - in case stack is being run locally with proxy enabled)
|
# (Eg. http://localhost:4000 - in case stack is being run locally with proxy enabled)
|
||||||
@ -73,6 +84,10 @@ Inside the deployment directory, open the file `config.env` and set the followin
|
|||||||
|
|
||||||
# Optional
|
# Optional
|
||||||
|
|
||||||
|
# Whether to enable app installation on Urbit
|
||||||
|
# (just builds and uploads the glob file if disabled) (Default: true)
|
||||||
|
CERC_ENABLE_APP_INSTALL=
|
||||||
|
|
||||||
# Whether to run the proxy server
|
# Whether to run the proxy server
|
||||||
# (Disable only if proxy not required to be run) (Default: true)
|
# (Disable only if proxy not required to be run) (Default: true)
|
||||||
CERC_ENABLE_PROXY=
|
CERC_ENABLE_PROXY=
|
||||||
@ -82,6 +97,16 @@ Inside the deployment directory, open the file `config.env` and set the followin
|
|||||||
|
|
||||||
# Upstream API URL
|
# Upstream API URL
|
||||||
CERC_PROXY_UPSTREAM=https://app.osmosis.zone
|
CERC_PROXY_UPSTREAM=https://app.osmosis.zone
|
||||||
|
|
||||||
|
# IPFS configuration
|
||||||
|
|
||||||
|
# IFPS endpoint to host the glob file on
|
||||||
|
# (Default: http://ipfs-glob-host:5001 pointing to in-stack IPFS node)
|
||||||
|
CERC_IPFS_GLOB_HOST_ENDPOINT=
|
||||||
|
|
||||||
|
# IFPS endpoint to fetch the glob file from
|
||||||
|
# (Default: http://ipfs-glob-host:8080 pointing to in-stack IPFS node)
|
||||||
|
CERC_IPFS_SERVER_ENDPOINT=
|
||||||
```
|
```
|
||||||
|
|
||||||
## Start the stack
|
## Start the stack
|
||||||
@ -102,6 +127,27 @@ laconic-so deployment --dir osmosis-deployment start
|
|||||||
|
|
||||||
* The web app can be accessed at http://localhost:3000
|
* The web app can be accessed at http://localhost:3000
|
||||||
|
|
||||||
|
* Run the following to get login password for Urbit web interface:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
laconic-so deployment --dir osmosis-deployment exec urbit-fake-ship "curl -s --data '{\"source\":{\"dojo\":\"+code\"},\"sink\":{\"stdout\":null}}' http://localhost:12321"
|
||||||
|
|
||||||
|
# Expected output: "<PASSWORD>\n"%
|
||||||
|
```
|
||||||
|
|
||||||
|
* Open the Urbit web UI at http://localhost:8080 and use the `PASSWORD` from previous step to login
|
||||||
|
|
||||||
|
* The osmosis app is not available when starting stack for the first time. Check `urbit-fake-ship` logs to see that app has installed
|
||||||
|
```
|
||||||
|
laconic-so deployment --dir osmosis-deployment logs -f
|
||||||
|
|
||||||
|
# Expected output:
|
||||||
|
# laconic-3ccf7ee79bdae874-urbit-fake-ship-1 | docket: fetching %http glob for %uniswap desk
|
||||||
|
# laconic-3ccf7ee79bdae874-urbit-fake-ship-1 | ">="">="Osmosis app installed
|
||||||
|
```
|
||||||
|
|
||||||
|
* The osmosis app will be now visible at http://localhost:8080
|
||||||
|
|
||||||
## Laconic registry
|
## Laconic registry
|
||||||
|
|
||||||
Setup a test chain:
|
Setup a test chain:
|
||||||
|
@ -12,10 +12,13 @@ containers:
|
|||||||
# - cerc/act-runner-task-executor
|
# - cerc/act-runner-task-executor
|
||||||
- cerc/watcher-ts
|
- cerc/watcher-ts
|
||||||
- cerc/osmosis-front-end
|
- cerc/osmosis-front-end
|
||||||
|
- cerc/urbit-globs-host
|
||||||
pods:
|
pods:
|
||||||
- kubo
|
|
||||||
- proxy-server
|
- proxy-server
|
||||||
- osmosis-front-end
|
- osmosis-front-end
|
||||||
|
- fixturenet-urbit
|
||||||
|
# TODO: Use kubo instead of ipfs in fixturenet-urbit pod
|
||||||
|
# - kubo
|
||||||
# TODO: Fix pod config for deployment command
|
# TODO: Fix pod config for deployment command
|
||||||
# TODO: mirroring all of osmosis repos: https://git.vdb.to/cerc-io/hosting/pulls/42
|
# TODO: mirroring all of osmosis repos: https://git.vdb.to/cerc-io/hosting/pulls/42
|
||||||
# - name: gitea
|
# - name: gitea
|
||||||
|
Loading…
Reference in New Issue
Block a user