Compare commits
6 Commits
sass-fixes
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 402f53056c | |||
| 3ad97b8b5e | |||
| 872d05154c | |||
| 457231a14d | |||
| 2ad0fc902b | |||
| 8464a206dc |
@@ -0,0 +1,34 @@
|
||||
name: Build and Push Masto Image
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Generate timestamp
|
||||
id: vars
|
||||
run: echo "TAG=$(date +%Y%m%d-%H%M)" >> $GITHUB_ENV
|
||||
|
||||
- name: Login to Docker Hub
|
||||
run: |
|
||||
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login \
|
||||
-u "${{ secrets.DOCKER_USERNAME }}" \
|
||||
--password-stdin
|
||||
|
||||
- name: Build image
|
||||
run: |
|
||||
docker build \
|
||||
-t domoel/masto:latest \
|
||||
-t domoel/masto:${TAG} \
|
||||
.
|
||||
|
||||
- name: Push image
|
||||
run: |
|
||||
docker push domoel/masto:latest
|
||||
docker push domoel/masto:${TAG}
|
||||
+12
-8
@@ -1,12 +1,16 @@
|
||||
### BUILDER IMAGE ###
|
||||
FROM docker.io/superseriousbusiness/masto-fe-standalone-woodpecker-build:0.1.0 AS builder
|
||||
|
||||
# Prepare the build directory, copy
|
||||
# relevant source + config files over.
|
||||
WORKDIR /build
|
||||
|
||||
USER root
|
||||
RUN mkdir -p /build/.yarn && chown -R node:node /build
|
||||
USER node
|
||||
|
||||
COPY --chown=node:node app /build/app
|
||||
COPY --chown=node:node config /build/config
|
||||
COPY --chown=node:node public /build/public
|
||||
|
||||
COPY --chown=node:node \
|
||||
.browserslistrc \
|
||||
babel.config.js \
|
||||
@@ -16,19 +20,19 @@ COPY --chown=node:node \
|
||||
yarn.lock \
|
||||
/build/
|
||||
|
||||
# Create a production build of the frontend.
|
||||
RUN yarn && yarn build:production
|
||||
|
||||
### RUNTIME IMAGE ###
|
||||
FROM nginx:alpine AS runtime
|
||||
|
||||
# Copy bigger nested stuff.
|
||||
### RUNTIME IMAGE ###
|
||||
FROM docker.io/nginx:alpine AS runtime
|
||||
|
||||
COPY --from=builder /build/public/packs/js/flavours/glitch /usr/share/nginx/html/packs/js/flavours/glitch
|
||||
COPY --from=builder /build/public/packs/js/flavours/vanilla /usr/share/nginx/html/packs/js/flavours/vanilla
|
||||
|
||||
# Copy remaining files.
|
||||
COPY --from=builder /build/public /usr/share/nginx/html/
|
||||
|
||||
# Set up nginx.
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
@import 'reset';
|
||||
|
||||
:root {
|
||||
--color-bg: #191b22;
|
||||
--color-fg: #fff;
|
||||
--color-bg: #1e1f29;
|
||||
--color-fg: #f7f7fa;
|
||||
}
|
||||
|
||||
body {
|
||||
@@ -64,29 +64,29 @@ form {
|
||||
|
||||
:focus-visible,
|
||||
button:focus-visible {
|
||||
outline: 2px solid #66befe;
|
||||
outline: 2px solid #bd93f9;
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 7px 10px;
|
||||
border: 1px solid lighten(#66befe, 7%);
|
||||
border: 1px solid lighten(#bd93f9, 7%);
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
color: #2a2b2f;
|
||||
color: #1e1f29;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
font-weight: 500;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
background-color: #66befe;
|
||||
background-color: #1e1f29;
|
||||
|
||||
&:hover {
|
||||
background-color: #89caff;
|
||||
background-color: #bd93f9;
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
background-color: #9baec8;
|
||||
background-color: #CEBBED;
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
@@ -95,28 +95,28 @@ input[type='text'] {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 15px;
|
||||
border: 1px solid lighten(#282c37, 7%);
|
||||
border: 1px solid lighten(#1e1f29, 7%);
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
box-shadow: none;
|
||||
color: #9baec8;
|
||||
color: #CEBBED;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: 18px;
|
||||
background: #282c37;
|
||||
background: #1e1f29;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 15px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid lighten(#39404f, 7%);
|
||||
border: 1px solid lighten(#2f313d, 7%);
|
||||
color: #fff;
|
||||
background-color: #39404f;
|
||||
background-color: #2f313d;
|
||||
}
|
||||
|
||||
.link-footer {
|
||||
padding-inline: 10px;
|
||||
color: #97a8b4;
|
||||
color: var(--color-fg);
|
||||
font-size: 0.875rem;
|
||||
|
||||
a {
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
+7
-8
@@ -3,7 +3,7 @@
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Login | Masto-FE (🦥 flavour)</title>
|
||||
<title>Zeitfresser Mastodon Frontend</title>
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport">
|
||||
<link rel="stylesheet" media="all" href="/packs/css/flavours/glitch/login.css" />
|
||||
<script src="/auth.js"></script>
|
||||
@@ -12,10 +12,10 @@
|
||||
<body class="app-body">
|
||||
<div class="login-container">
|
||||
<header>
|
||||
<img alt="a friendly smiling sloth" src="images/mascot.svg" />
|
||||
<img alt="a friendly smiling sloth" src="images/logo.avif" />
|
||||
</header>
|
||||
<main>
|
||||
<h1>Log into your instance</h1>
|
||||
<h1>Zeitfresser Mastodon Frontend</h1>
|
||||
<form method="post" id="login">
|
||||
<label for="instance">Instance URL</label>
|
||||
<input type="text" id="instance" value="" class="input instance">
|
||||
@@ -25,17 +25,16 @@
|
||||
</form>
|
||||
<aside class="content">
|
||||
<p>
|
||||
<strong>Note:</strong>
|
||||
this application is completely client-side, meaning everything happens in the browser on your machine.
|
||||
Zeitfresser Mastodon is a client-sided web frontend to run Mastodon or GoToSocial server backends on your machine
|
||||
It does not store information anywhere else than your browser's local storage.
|
||||
</p>
|
||||
</aside>
|
||||
</main>
|
||||
<footer class="link-footer">
|
||||
<p>
|
||||
<strong>Masto-FE (🦥 flavour)</strong>
|
||||
<strong>Zeitfresser Mastodon Frontend</strong>
|
||||
<span aria-hidden="true"> · </span>
|
||||
<a href="https://codeberg.org/superseriousbusiness/masto-fe-standalone" rel="noopener noreferrer" target="_blank">
|
||||
<a href="https://git.ztfr.eu/Dome/Masto" rel="noopener noreferrer" target="_blank">
|
||||
Source code
|
||||
</a>
|
||||
</p>
|
||||
@@ -43,4 +42,4 @@
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user