Skip to content

Commit 4bf85b2

Browse files
first commit
0 parents  commit 4bf85b2

File tree

6 files changed

+582
-0
lines changed

6 files changed

+582
-0
lines changed

css/styles.css

Lines changed: 281 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,281 @@
1+
/* Variables de color (morado en lugar de verde) */
2+
:root {
3+
--primary: #8a2be2;
4+
--primary-light: #a865ea;
5+
--primary-dark: #6a1ba9;
6+
--background: #13141f;
7+
--sidebar-bg: #1a1b26;
8+
--card-bg: #22232e;
9+
--text-primary: #ffffff;
10+
--text-secondary: #b3b3cc;
11+
--border-color: #2a2a3a;
12+
--hover-bg: #2c2d3a;
13+
}
14+
15+
/* Estilos generales */
16+
* {
17+
margin: 0;
18+
padding: 0;
19+
box-sizing: border-box;
20+
}
21+
22+
body {
23+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
24+
background-color: var(--background);
25+
color: var(--text-primary);
26+
line-height: 1.6;
27+
}
28+
29+
a {
30+
text-decoration: none;
31+
color: inherit;
32+
}
33+
34+
/* Encabezado principal */
35+
.main-header {
36+
display: flex;
37+
align-items: center;
38+
justify-content: space-between;
39+
padding: 1rem 2rem;
40+
border-bottom: 1px solid var(--border-color);
41+
}
42+
43+
.logo-container {
44+
display: flex;
45+
align-items: center;
46+
gap: 0.75rem;
47+
}
48+
49+
.logo {
50+
width: 40px;
51+
height: 40px;
52+
background-color: var(--primary);
53+
border-radius: 8px;
54+
display: flex;
55+
align-items: center;
56+
justify-content: center;
57+
font-weight: bold;
58+
font-size: 1.5rem;
59+
}
60+
61+
.search-container {
62+
flex: 1;
63+
max-width: 400px;
64+
margin: 0 1rem;
65+
position: relative;
66+
}
67+
68+
.search-input {
69+
width: 100%;
70+
padding: 0.5rem 1rem;
71+
background-color: var(--card-bg);
72+
border: 1px solid var(--border-color);
73+
border-radius: 4px;
74+
color: var(--text-primary);
75+
}
76+
77+
.shortcut {
78+
position: absolute;
79+
right: 10px;
80+
top: 50%;
81+
transform: translateY(-50%);
82+
font-size: 0.75rem;
83+
color: var(--text-secondary);
84+
background-color: var(--card-bg);
85+
padding: 2px 6px;
86+
border-radius: 4px;
87+
}
88+
89+
.header-actions {
90+
display: flex;
91+
align-items: center;
92+
gap: 1rem;
93+
}
94+
95+
.support-link {
96+
color: var(--text-secondary);
97+
}
98+
99+
.dashboard-btn {
100+
background-color: var(--primary);
101+
color: white;
102+
padding: 0.5rem 1rem;
103+
border-radius: 4px;
104+
transition: background-color 0.2s;
105+
}
106+
107+
.dashboard-btn:hover {
108+
background-color: var(--primary-dark);
109+
}
110+
111+
/* Contenedor principal */
112+
.main-container {
113+
display: flex;
114+
min-height: calc(100vh - 64px);
115+
}
116+
117+
/* Barra lateral */
118+
.sidebar {
119+
width: 250px;
120+
background-color: var(--sidebar-bg);
121+
border-right: 1px solid var(--border-color);
122+
padding: 1.5rem 0;
123+
overflow-y: auto;
124+
}
125+
126+
.nav-section {
127+
margin-bottom: 2rem;
128+
}
129+
130+
.nav-header {
131+
font-size: 0.8rem;
132+
text-transform: uppercase;
133+
color: var(--text-secondary);
134+
padding: 0 1.5rem;
135+
margin-bottom: 0.5rem;
136+
}
137+
138+
.nav-link {
139+
display: block;
140+
padding: 0.5rem 1.5rem;
141+
color: var(--text-secondary);
142+
transition: background-color 0.2s, color 0.2s;
143+
}
144+
145+
.nav-link:hover {
146+
background-color: var(--hover-bg);
147+
color: var(--text-primary);
148+
}
149+
150+
.nav-link.active {
151+
background-color: var(--hover-bg);
152+
color: var(--primary-light);
153+
border-left: 3px solid var(--primary);
154+
padding-left: calc(1.5rem - 3px);
155+
}
156+
157+
/* Contenido principal */
158+
.content {
159+
flex: 1;
160+
padding: 2rem;
161+
overflow-y: auto;
162+
}
163+
164+
.content h1 {
165+
font-size: 2.5rem;
166+
margin-bottom: 1rem;
167+
}
168+
169+
.content h2 {
170+
font-size: 1.75rem;
171+
margin: 2rem 0 1rem;
172+
padding-bottom: 0.5rem;
173+
border-bottom: 1px solid var(--border-color);
174+
}
175+
176+
.content h3 {
177+
font-size: 1.25rem;
178+
margin: 1.5rem 0 0.75rem;
179+
}
180+
181+
.content p {
182+
margin-bottom: 1rem;
183+
}
184+
185+
.content ul, .content ol {
186+
margin: 0 0 1rem 1.5rem;
187+
}
188+
189+
.content code {
190+
background-color: var(--card-bg);
191+
padding: 0.2rem 0.4rem;
192+
border-radius: 3px;
193+
font-family: 'Courier New', Courier, monospace;
194+
}
195+
196+
.content pre {
197+
background-color: var(--card-bg);
198+
padding: 1rem;
199+
border-radius: 5px;
200+
overflow-x: auto;
201+
margin: 1rem 0;
202+
}
203+
204+
/* Mensajes de estado */
205+
.loading, .error {
206+
padding: 2rem;
207+
text-align: center;
208+
color: var(--text-secondary);
209+
}
210+
211+
.error {
212+
color: #ff6b6b;
213+
}
214+
215+
/* Navegación de página */
216+
.page-nav {
217+
width: 220px;
218+
padding: 2rem 1rem;
219+
border-left: 1px solid var(--border-color);
220+
}
221+
222+
.page-nav-header {
223+
font-size: 0.8rem;
224+
color: var(--text-secondary);
225+
margin-bottom: 1rem;
226+
}
227+
228+
.page-nav-link {
229+
display: block;
230+
padding: 0.25rem 0;
231+
color: var(--text-secondary);
232+
font-size: 0.9rem;
233+
margin-bottom: 0.25rem;
234+
transition: color 0.2s;
235+
}
236+
237+
.page-nav-link:hover {
238+
color: var(--primary-light);
239+
}
240+
241+
.page-nav-link.active {
242+
color: var(--primary-light);
243+
}
244+
245+
/* Tarjeta de bienvenida */
246+
.welcome-card {
247+
background-color: var(--card-bg);
248+
border-radius: 8px;
249+
padding: 2rem;
250+
margin: 1rem 0 2rem;
251+
text-align: center;
252+
}
253+
254+
/* Responsive */
255+
@media (max-width: 1024px) {
256+
.page-nav {
257+
display: none;
258+
}
259+
}
260+
261+
@media (max-width: 768px) {
262+
.main-container {
263+
flex-direction: column;
264+
}
265+
266+
.sidebar {
267+
width: 100%;
268+
border-right: none;
269+
border-bottom: 1px solid var(--border-color);
270+
}
271+
272+
.main-header {
273+
flex-wrap: wrap;
274+
}
275+
276+
.search-container {
277+
order: 3;
278+
max-width: 100%;
279+
margin: 1rem 0 0;
280+
}
281+
}

docs/api.md

Whitespace-only changes.

docs/index.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Welcome to AtlasServer
2+
3+
> 💻 **Fast deploy. No cloud. Just code — from developers to developers.**
4+
5+
## What is AtlasServer?
6+
7+
AtlasServer is a local deployment platform designed for developers who need to quickly share demos of their applications without complex cloud setups. It provides a centralized dashboard to manage, launch, and expose your Flask and FastAPI applications (with more frameworks coming soon) on your local network or to the internet via secure tunnels like Ngrok.
8+
9+
## Key Features
10+
11+
- **Fast Local Deployment**: Launch your applications with a single click through an intuitive web interface
12+
- **Framework Support**: Deploy Flask and FastAPI applications (with Django, Next.js, and more coming soon)
13+
- **LAN & Internet Exposure**: Share your applications on your local network or expose them securely via Ngrok
14+
- **Process Management**: Start, stop, restart, and monitor your running applications
15+
- **Real-time Logs**: View application logs directly in the dashboard
16+
- **Multi-user Support**: Manage access with different user roles and permissions
17+
- **Secure By Design**: Keep your development environment under your control, not in the cloud
18+
19+
## Who is it for?
20+
21+
- **Freelancers**: Quickly demonstrate work to clients without complex deployments
22+
- **Agencies**: Streamline the client approval process with easy-to-share demos
23+
- **Development Teams**: Simplify internal testing and collaboration
24+
- **Educators**: Share working examples with students or colleagues
25+
- **Startup Founders**: Test MVPs with stakeholders before investing in cloud infrastructure
26+
27+
## Getting Started
28+
29+
Getting started with AtlasServer is simple:
30+
31+
1. Clone the repository
32+
2. Install dependencies
33+
3. Run the setup script
34+
4. Access your dashboard at http://localhost:5000
35+
36+
Check out our [installation guide](#installation) for detailed instructions.
37+
38+
## Join the Community
39+
40+
AtlasServer is built by developers who understand the challenges of sharing demos with clients and stakeholders. We believe deployment shouldn't be a roadblock to innovation.
41+
42+
---
43+
44+
> 💻 **Fast deploy. No cloud. Just code.**
45+
> *From developers to developers.*

0 commit comments

Comments
 (0)